XSS挑战之旅[全20关]上
Contents
文章目錄
- 靶場簡介
- 0x01
- 0x02
- 0x03
- 0x04
- 0x05
- 0x06
- 0x07
- 0x08
- 0x09
- 0x10
靶場簡介
由來:這是Xss平臺免費提供的一個xss靶場,網(wǎng)址為https://xssaq.com/yx/index.php
玩法:通過網(wǎng)站提供的輸入口或其他跨站腳本攻擊使網(wǎng)站運行alert()函數(shù),進(jìn)而跳到下一關(guān),如此往返,一共20關(guān)。
講解:為了方便講解,每次下一關(guān)的測試用上一關(guān)的payload
0x01
0x01輸入為test的源代碼
分析:此處網(wǎng)頁上的“歡迎用戶”后面的值由后面網(wǎng)址的name的值提供,即在"name="后面輸入的值會在網(wǎng)頁上顯示出來且沒有任何過濾。我們可以直接用script標(biāo)簽。
payload:
0x02
0x02輸入0x01payload的原代碼
分析:0x02有一個輸入框,input標(biāo)簽的value我們可以用">進(jìn)行閉合。
payload:
0x03
0x03輸入0x02payload的原代碼
分析:從原代碼我們發(fā)現(xiàn)它對"<>三個符號進(jìn)行了轉(zhuǎn)義且value值用單引號。所以script用不了,我們可以用一個單引號對value前面的單引號進(jìn)行閉合,再用一個單引號對后面的單引號進(jìn)行閉合,在value后加入onclick。加入此payload后,點擊輸入框進(jìn)而進(jìn)入下一關(guān)。
payload:
0x04
分析:與0x03一樣,只不過value用的是雙引號,只要把0x03的payload中單引號改成雙引號即可
payload:
0x05
0x05輸入0x04payload的原代碼
分析:發(fā)現(xiàn)它對onclick,onmouseover,script進(jìn)行了加"_"的操作,我試了大寫也沒有用,但<>這兩符號能正常寫入。
我們可以添加a標(biāo)簽的方法,然后點擊鏈接就可以跳到下一關(guān)。
payload:畫藍(lán)錢的即為payload
0x06
0x06輸入0x05payload的原代碼
分析:經(jīng)試驗后,它對script,onclick,href,onmouseover進(jìn)行了加"_“操作,但對”<>做任何處理,而且能大寫繞過,故這里可以運行許多payload。
3個payload:
將第一關(guān)的payload中的script都大寫也行(博主不方便演示)
0x07
0x07輸入0x06payload的原代碼
分析:經(jīng)實驗,它會把script,on,href直接過濾掉,這里因為它過濾掉了,我們就可以考慮它會過濾一次還是幾次或是直到?jīng)]有為止,這里就可以用雙寫href來繞過,(記住,雙寫或多寫的觸發(fā)條件是對面過濾了敏感字符,而不是動不動用雙寫繞過,你的繞過思路要取決于對面的防御措施,而不是什么都不管,就全部用上!)
payload:
將0x06的a標(biāo)簽payload中的href進(jìn)行雙寫,比如hrehreff。
0x08
0x08輸入0x07payload的原代碼
分析:用前幾關(guān)的payload嘗試后,發(fā)現(xiàn)轉(zhuǎn)義了 " <> ,也將on,script,href進(jìn)行了加"_"操作,所以不能使用script標(biāo)簽和a標(biāo)簽來做。但是我們發(fā)現(xiàn)0x08多出>了一個可以點擊的“友情鏈接”,查看頁面代碼后,發(fā)現(xiàn)輸入的內(nèi)容會進(jìn)入到已有的a標(biāo)簽中的href中。因>此我們不需要像以前一樣閉合input標(biāo)簽,再添加a標(biāo)簽,我們可以直接輸入javascript:alert(1)。
這里將script用實體編號繞過。也可以對script的一個字母進(jìn)行實體編號。
payload:
0x09
分析:與0x08有一個區(qū)別,就是檢測你的網(wǎng)址中有沒有http://,沒有就直接報錯,這是我們可以在0x08的payload的基礎(chǔ)上附上http://即可(這是哪個小可愛想出來的)
payload:
0x10
分析:因為沒有輸入口,只能從URL入手,參數(shù)keyword對輸入的"><做了過濾,顯然不能利用了。查看頁面源碼后發(fā)現(xiàn)有三個input標(biāo)簽是hidden的。我們嘗試?yán)眠@三個標(biāo)簽完成攻擊。與在輸入框中輸入代碼類似,只是在url中需要指定標(biāo)簽name,且需要修改type屬性為text使輸入框顯示出來(這是利用HTML語言的解析順序)
payload:
?t_sort=1"%20οnclick=alert(1)%20type=“text”
謝謝觀看,還有10關(guān),肝!
總結(jié)
以上是生活随笔為你收集整理的XSS挑战之旅[全20关]上的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 事务的嵌套
- 下一篇: java中isprime_java:19