利用burp suite手工挖掘XSS漏洞
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
手工测试xss
没啥技术含量,只是把自己手工挖xss的简单心得和大家分享下。
Xss的形成原因无非是用户输入的xss代码经过服务器之后原封不动的返回到客户端中,这样攻击者就可以写出带有恶意行为的js脚本,传送给受害者,使得脚本在受害者机子上进行执行,最常见的就是盗取用户的cookies。复杂的就需要懂很多javascript知识。
现在的网站几乎大部分都会有与用户交互的功能,用户可以提交数据之类的,再加上开发对用户输入的数据过滤检查不严格,这样就很容易造成xss。
很多的工具可以扫到xss漏洞,工具的扫描过程有可能是对一个网址开始进行爬虫,查找用户可以输入的参数,可能是get方法的,可能是post方法的,更改输入参数值,使用自带的xss测试语句进行测试,观察返回的数据中有没有这些测试语句。
但是很多的扫描工具扫描的并不是很全面。有可能漏掉很多。
使用手工测试xss和工具扫描的原理是一样的,更改传递给服务器的参数值,观察返回的数据中参数值的变化,一般测试时,我习惯输入21212>,这样若是返回的页面源代码中含有21212>,那这个站90%的就可以进行xss,当然若要触发的话大多数情况下还需要你进行闭合操作。
在手工测试xss中最重要的就是对一个站或是一个网址数据包的抓取及修改的过程,这样的工具很多,fiddler、brupsuite等代理工具就可以实现抓包、改报的操作。
我测试时喜欢brupsuite,虽然免费的功能有所限制,但是对于自己抓包完全够用了。
对于brupsuite的资料现在中文的貌似不是很多,自己也是一点点的摸索出来的。下面使用brupsuite做个简单的使用介绍。
使用brupsuite,首先需要对浏览器进行代理设置,推荐firefox+proxy,用ie的话该代理,本机上网都会通过这个代理。
打开brupsuite,
先把intercept关掉,否则访问网页需要你手工放行。在你想更改参数给服务器时可以利用,例如在玩flash游戏最后有个提交参数,打开intercept,修改得分值,你就可以修改成任何你想要的分数。
下面我使用的是owasp的练习系统简单说下手工查找xss漏洞。
设置好代理访问网页,可以看到brupsuite抓到的数据包如图:
我选取的是post方法提交的参数值,在上面可以看到有对勾的就是该网址可以传递参数,体积的参数查看很简单,自己找下。
下面的user和pass的参数值是可以传递给服务器的,这样就可以修改这些参数,我刚开始用的21212>发现返回的页面里面没有,但是在试时出现了xss:
这个没有办法在源代码中进行查看。继续点击网站的其他功能,尽量全面点,这样brupsuite 就能抓取更多的数据包,尤其是需要用户填写东西的,这样就填写你自己的语句,例如我填写的是
提交后,点击查看源代码发现
输入的21212>原封不动的返回到浏览器中。这样就很有可能实现跨站。
在brupsuite中同样抓到了该post方法提交的过程
使用该工具不仅看到了提交的数据值,还能看到隐藏的user参数。下面构造xss语句,
提交后
产生了跨站,这样你可以使用其他js标签或者js脚本进行攻击了。
上面可以看到还有个user参数。我们检查下这个参数是不是一样可以被利用跨站。这个的话我们使用brupsuite进行测试。首先选取要测试的网址,点击发送,如图:
工具的这个功能就是可以修改参数值后进行提交
看到了参数值admin,修改他,加入21212>,点击go。看下面的response返回的数据值。
同样返回了21212>,后面那个是上次测试留下的,改成xss语句。
在这里也可以不使用工具,页面比较简单,但是你要查找大型网站时候还是用工具抓包比较方便些
在源码中看到了