0xx3 AJAX Security(Ajax安全性)
依次向URL框框中输入以下网址(也可以直接点击下方链接),观察发现,只能访问同一数据资源,非同源访问失败
lessons/Ajax/sameOrigin.jsp
http://www.google.com/search?q=aspect+security
原理:一些应用程序特别是使用AJAX的应用程序使用javascript,DHTML和eval()方法直接操作和更新DOM.攻击者可以通过截取回复并尝试注入一些javascript命令来利用他的攻击来利用它.
大概的思路是修改提交按钮的让其取消隐藏,百度了无数种方法,依然失败,最后灵光一现,进入网页的调试模式,手动删掉了disabled=””,成功通关
原理:AJAX应用程序使用XML与服务器交换信息.恶意攻击者可以轻松拦截和更改此XML.
基本思路大致和DOM注入类似,输入ID后,通过抓包发现传入参数的规律,索性直接加上&check1004=on&check1005=on测试一下,结果一次通过
原理: JavaScript Object Notation(JSON)是一种简单有效的轻量级数据交换格式。JSON可以有很多形式,例如数组,列表,哈希表和其他数据结构。JSON广泛用于AJAX和Web2.0应用程序,并且由于其易用性和速度而受到程序员对XML的青睐。但是,JSON和XML一样容易受到注入攻击。恶意攻击者可以从服务器注入回复并在其中注入一些任意值。
首先,打开浏览器调试工具,定位到目标位置,将数值改小即可
原理: 任何使用单个提交静默处理事务的系统对客户端都是危险的,ajax直接与后台进行数据交互,发生在页面上没有用户反馈的情况下
在页面定位到提交按钮,发现,点击按钮触发processData()函数,通过页面搜索,找到这个函数的位置,可知,它用来判断输入,来与后台交互
而下方submitData()函数,则是提交结果,来吧processData()改成submitData(123,123)
成功
原理:未经验证的用户提供的数据与Javascript eval()调用一起使用.在反映的XSS攻击中,攻击者可以使用攻击脚本制作URL并将其存储在另一个网站上,通过电子邮件发送或以其他方式欺骗受害者点击它.
enter your three digit access code中输入以下代代码然后提交即可完成:
123');alert(document.cookie);('
服务端返回的结果为
eval(‘123’);
alert(document.cookie);
(‘’)
定位到输入框的位置,发现,存在一个键盘事件,会使用AJAX后台检测输入,
定位到form表单处,看到触发事件的位置是一个JS文件
找到此文件的isValidCoupon(),有一个判断语句,大概就是判断优惠券代码对错的了
设置断点,然后随便输入一个数字,提交这东西貌似就是我们要找的,试一下
成功
将所有价格在页面改为0,然后输入数量
成功