☝☝
相信有很多的小盆友们曾经发现过一些疑似存在XSS漏洞的站点,但又无法完全证明这个漏洞是可以被利用的。此时的你可能处于怀疑状态,也有可能你已经验证到一半了,严重怀疑其有精神病(XSS漏洞)的情况。那么这个时候该怎么办呢?
很多时候,手测没有任何进展,很多Hacker或许会用XSS fuzz,将准备好的XSS-Payload-list往BurpSuite里一扔,噢豁~还是找不到适合的Payload。
(注:各前辈集齐的XSS-Payload,各位盆友们自行查看)
# XSS-Payload
https://github.com/TheKingOfDuck/fuzzDicts/tree/master/easyXssPayload
https://github.com/ZephrFish/XSSPayloads/blob/master/raw_payloads
https://github.com/silience/xsspayload
https://github.com/willc/XSSpayloads/blob/master/xss_payloads_6-20-12.txt
https://github.com/AeolusTF/XssPayload/blob/master/XssPayload.txt
(注:还有我的一键XSS上天遁地工具,无法无天,骨骼精奇的盆友可得)
当然也有很多头铁的小伙伴去硬刚的,毕竟没有绝对的安全嘛,但是这必定会是个长久的消耗战。为了搞清楚哪些情景下,我们无法利用XSS漏洞,特此安排此文进行讲解。
(事先声明:以下所谓的无法利用的场景或许只是因为个人能力不足所导致的一种错误认知,若有不足之处或解决方法,希望各位师傅们分享。)
0x01 WAF拦截[a-zA-Z]
http://portswigger-labs.net/impossible-labs/basic-context-waf-blocks-a-z.php?x=%3Cscript%3Ealert(1)%3C/script%3E
(师傅们,上才艺
0x02 基于脚本注入,引号('和')、正斜杆(/)和反斜杠(\)被转义
http://portswigger-labs.net/impossible-labs/script-context-escaped-angle-brackets-allowed.php?x=%3C/script%3E%3Cimg%20src=1%20onerror=alert(1)%3E
(绕过了的师傅们记得分享分享
0x03 输出HTML文本内容,但不允许使用等号(=)
http://portswigger-labs.net/impossible-labs/innerHTML-no-equals.php?x=%3Cimg%20src=1%20onerror=alert(1)%3E
0x04 基本内容长度限制
https://portswigger-labs.net/impossible-labs/basic-context-length-limit.php?x=%3Cq%20oncut=alert%60%60
(我除了拿出我的一键XSS上天遁地工具,别无他法)
0x05 属性内容长度限制
这个场景上下文在长度被限制在14个字符的属性中,这里存在一个向量,它用15个字符执行JavaScript:'oncut=alert`` 。加号是尾随空格,有办法利用吗?
https://portswigger-labs.net/impossible-labs/attribute-context-length-limit-arbitrary.php?x=%22oncut=eval(top.name)
0x06 基于脚本注入发生在框架内,并不在主体内容中
这是一个关于twitter next实验室的请求,它发生在一个框架集中。师傅们看看
http://portswigger-labs.net/impossible-labs/after-frameset-before-body.php?x=%3C/frameset%3E%3Cscript%3Ealert(1)%3C/script%3E
注意哈~这和第四点不一样的。这里的限制是只让你调用alert,其它任意代码都被限制,这个时候是否有办法利用?
https://portswigger-labs.net/impossible-labs/basic-context-length-limit-arbitrary.php?x=%3Cq%20oncut=eval(name)
■ Over ■
联系客服