??
相信有很多的小盆友們曾經發現過一些疑似存在XSS漏洞的站點,但又無法完全證明這個漏洞是可以被利用的。此時的你可能處于懷疑狀態,也有可能你已經驗證到一半了,嚴重懷疑其有精神?。╔SS漏洞)的情況。那么這個時候該怎么辦呢?
很多時候,手測沒有任何進展,很多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 ■