Callback自定义测试
测试原理和方法
在浏览器中存在着同源策略,所谓同源是指域名、协议、端口相同。当使用Aiax异步传输数据时,非同源域名之间会存在限制。其中有一种解决方法是JSONP (JSONwithPadding),基本原理是利用了HTML里<script></script>元素标签,远程调用JSON文件来实现数据传递。JSONP 技术中一般使用 Callback (回调函数)参数来声明回调时所使用的函数名,这里往往存在安全问题,由于没有使用白名单的方法进行限制Callback的函数名,导致攻击者可以自定义Callback内容,从而触发XSS等漏洞。
测试过程
如图 所示,攻击者在测试前,使用Brup Suite的爬虫功能对网站进行爬取,筛选出带有Callback或者isonp参数的请求,对请求响应的Content-Type进行判断,如果Content-Type为texthtml,则进行下一步,接着攻击者对Callback参数进行分析,如果Callback参数允许攻击插入HTML标签,则存在漏洞。
步骤一: 如图 所示,使用BurpSuite的爬虫功能,从重点关注的目录(一般为网站根目录)开始爬取,