挖掘的方法:
1、手工挖掘
方法:靠闭合标签加一些限制绕过等等的
标签闭合配合浏览器的测试,因为有时候提交的那些表单里面是限制长度的,所以我们可以:
(1)用bp进行抓包改包,进行探测。
(2)直接在前端修改源代码进行修改长度限制。
挖掘验证思路:
1、先找数据交互的地方
用户输入点、输出点、文件上传地方、flash、在url当中,get的地方,有注入的
地方,这些都有可能有xss的漏洞
2、找到功能点之后,怎么去挖掘, 这样就用到标签的闭合了,找出输出点的js位置,
然后进行闭合,输出我们的验证xss的代码(如:弹窗)
要是标签不闭合有时候就很难进行代码的执行的,这是很重要的!!!
例如:
<script>alert(1)</script>
“”></script>alert(1)</script>
<img/src =@ onerror = alert(1)/>
""><img/src =@ onerror = alert(1)/>
最好是闭合加载后的,就是输出类的那些标签
1、特殊标签文本域标签<rextarea>
留言的地方必须加的一个文本域的闭合标签。
如:</rextarea> <script> alert(/xss/) </script>
有时候我们也闭合‘ “ > </td>、</div>、</txetarea> 这些标签
例如:
验证是反射型xss:
1、可以在 url后面直接添加<scrip>标签,要是能正常执行我们的标签的话就证明这个是有xss
漏洞的。(url没有给他传参的就给他传个参数先)
2、有时候在搜索框哪里也会存在这个漏洞(这是个输入点),他也是以get形式提交的,这
时候我们可以将我们的xss验证语句写到搜索框哪里,然后点击搜索,这时候我们要清楚,搜索
框的输出点在HTML的哪里,在页面的那个地方,这些我们都要找出来,可以通过右键输出点查
看源代码,或者直接查看源代码然后搜索我们的那些输入信息来进行定位,这样以便我们分析
xss漏洞问题(如:被过滤掉了怎么处理,需要我们闭合那些标签,怎么闭合)。
如: http://127 0 0. 1/xss. php?x=1123123<script> alert(“xss”) </scrip>
然后构造好链接后,发给别人别人点击之后,才可以,或者我们自己换个浏览器假装被
害者点击。
验证他是存储型的xss漏洞:
留言、注册、修改信息等等一些POST能写入到服务器数据库的一些功能点都有可能会
出现存储型的XSS的漏洞。这个地方我们是找存储型xss的时候我们必须挖的地方。
要注意,因为很多留言框这种东西是写入后台数据库的,我们在前端是看不到的,相当
于没有输出让我们知道是否有漏洞,大部分都是管理员才能看到。
这些我们必须测试的地方,当我们都不知道的时候,所以我们就要在每个框里面添加
xss检测代码来执行探测。 ----------------探测方法叫盲打
还要值得注意的就是:因为我们是看不到后台的情况的,但是管理员会看到,要是我们
盲打的时候打的是全都是弹框的代码,那么管理员又不是猪,他肯定会知道这里有漏洞的甚
至还会追究,所以我们盲打探测语句的时候最好不要打弹框的代码了(alert这种)。
(所以我们一般不留弹框的代码,留那种直接发送cookie的代码,这种被称为盲打cookie)
2、工具挖掘
awvs、netsparke、APPscan、burp、xsser、xsscrapy、brutexssr、
OWASP Xenotix
红标的工具会在XSS的工具利用中会介绍到