AJAX攻击

AJAX应用需要服务器上的许多API,这些API给出的响应是javascript所解析和解释的xmljson数据

AJAX应用中的安全威胁:服务器API未能检查发请求的浏览器的授权;客户端数据未验证是否符合逻辑或遵守业务规则

攻击步骤:

第一步:观察实时的AJAX请求,使用firebug net,理解web应用底层逻辑

第二步:识别应用中的javascript,注意,js组件的url是相对页面的原始url而言的

第三步:从AJAX活动回溯到源代码

第四步:截获和修改AJAX请求,使用webscarab——proxy——Manual Edit——Intercept requests

第五步:截获和修改服务器响应,使用webscarab——proxy——manaual Edit——Intercept response

第六步:使用注入数据破坏AJAX

1)注入xml

http://www.owasp.org/index.php?Testing_for_XML_Injection

<message user = "jsmith">are you going to the show?</message>

<message user = "jsmith"><hr width="200">are you going to the show?</message>

2)注入json(JSON数据结构式从标签到元素的映射)

{"menu": {"address":{"line1":"YOUR_INPUT_HERE","line2":" ","line3": " "}}}

{"menu": {"address":{"line1":"",arbitrary:alert('JavaScript Executed'),continue:"","line2":" ","line3": " "}}}

第七步:修改客户端变量,方法或对象

检查跨域访问:确保应用不依赖于不可信的外部脚本,只有很少的网站需要调用来自其他站点的javascript。在网站上包含这样的脚本会隐式地赋予它们在你的域中执行javascript代码的权限。这使得第三方能够编辑你的应用的外观和功能,并访问你的用户的cookie

如果应用在响应请求时返回了秘密的但却未加保护的JSON数据,那么就容易遭受JSON劫持攻击,这种攻击只适用于JSON串行化数据(串行化:把变量包括对象,转化成连续byte数据,可以将串行化后的变量存在一个文件里或在网络上传输,然后再反串行化还原为原来的数据。

JSON串行化是一种以容易解析的格式来传输数据的方式,javascript可以使用内置的eval()函数来解析JSON,但使用eval()函数而不做任何其他验证是可能会被代码注入所利用的缺点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值