php scrscriptipt,XSS挑战之旅闯关笔记
環(huán)境自己搭建~~好囂張:
1.http://127.0.0.1:8024/xss/level1.php?name=test ?這是URL 看到后面name有參數(shù)傳遞,不多想直接嘗試xss。
沒(méi)有任何過(guò)濾。
payload :http://127.0.0.1:8024/xss/level1.php?name=
2.http://127.0.0.1:8024/xss/level2.php?keyword=test ? 和上題差不多的URL 直接換參數(shù)
發(fā)現(xiàn)沒(méi)有成功,那就只有看源代碼了??纯醋隽耸裁催^(guò)濾之類(lèi)的
發(fā)現(xiàn)payload在value中沒(méi)有生效,構(gòu)造payload ?: ?" > id=" ?使用(">)把前面的閉合 然后在后面可以加一個(gè)空id ?或者payload :?" > // 最后加//把后面的雙引號(hào)注釋掉即可。:
或者使用payload :?" οnclick=alert(1) id=" ?然后點(diǎn)擊一下文本框也可以
3.直接在文本框輸出嘗試,發(fā)現(xiàn)不能成功。然后查看源代碼:
直接構(gòu)造payload :單引號(hào)閉合 ,使用on事件。 ?payload:' οnclick=alert(1) // ? ?這里對(duì)<>做了過(guò)濾。
4. 直接插入嘗試,失敗。查看源代碼:
發(fā)現(xiàn)對(duì)<>沒(méi)有了 做了轉(zhuǎn)譯。直接構(gòu)造payload :" οnclick=alert(1) //
或者使用?onmouseover?函數(shù) ,payload :?" ?οnmοuseοver=alert(1) //
5.?直接插入嘗試,失敗。查看源代碼:
出來(lái)雙引號(hào)還過(guò)濾了 script ?變成了 scr_ipt ?。使用on事件嘗試,發(fā)現(xiàn)也過(guò)濾了on事件, on 變成了 o_n。
這里利用Javascript偽協(xié)議 直接構(gòu)造payload:" > //
6.
出來(lái)雙引號(hào)還過(guò)濾了 script ?變成了 scr_ipt ?。使用on事件嘗試,發(fā)現(xiàn)也過(guò)濾了on事件, on 變成了 o_n。 使用Javascript偽協(xié)議 發(fā)現(xiàn) ?href 變成了 hr_ef 。src 也過(guò)濾了。
構(gòu)造payload 嘗試?yán)@過(guò),大小寫(xiě)。payload: " Onclick=alert(1) //
7..
直接把script 給過(guò)濾了。嘗試雙寫(xiě)繞過(guò)。payload: "> alert(1)
8.直接構(gòu)造簡(jiǎn)單payload 進(jìn)行嘗試。發(fā)現(xiàn)沒(méi)有任何反應(yīng),查看源代碼:
發(fā)現(xiàn)2個(gè)輸出點(diǎn),之前的實(shí)驗(yàn)也有2個(gè)輸出點(diǎn),不過(guò)好嘗試沒(méi)有細(xì)說(shuō)。這里不好繞過(guò)。
第一個(gè)輸出點(diǎn),<>給編碼轉(zhuǎn)換了。然后進(jìn)行不帶<>的payload嘗試,還有一些繞過(guò),發(fā)現(xiàn)沒(méi)有成功。直接嘗試第二個(gè)輸出點(diǎn)。
第二個(gè)輸出點(diǎn),直接看到 href 直接想到JavaScript 偽協(xié)議 嘗試。
發(fā)現(xiàn)也被過(guò)濾 javascript變成javascr_ipt ,嘗試大小寫(xiě)繞過(guò),發(fā)現(xiàn)不可行。然后想到tab繞過(guò)。
構(gòu)造payload:javascr ipt:alert(1) ? ? tab制表符 %09 ? 發(fā)下可以繞過(guò)。
9.見(jiàn)框就插,構(gòu)造payload。查看源代碼
發(fā)現(xiàn)也有2個(gè)輸出點(diǎn)。在第一個(gè)輸出點(diǎn)構(gòu)造payload。各種payload都顯示鏈接不合法。 ?href 屬性的值可以是任何有效文檔的相對(duì)或絕對(duì) URL,包括片段標(biāo)識(shí)符和 JavaScript 代碼段,猜想是否必須有超文本傳輸協(xié)議http:// ,然后進(jìn)行嘗試。
發(fā)現(xiàn)猜想正確,沒(méi)有返回鏈接不合法。然后與JavaScript 相結(jié)合, 構(gòu)造payload: javascript=alert(1)//http:// ? ?第一個(gè)//是為了注釋掉后面的http://
10. 發(fā)現(xiàn)沒(méi)有文本框可以插入,但是url有參數(shù)傳遞。直接簡(jiǎn)單payload測(cè)試。發(fā)現(xiàn)沒(méi)有任何反應(yīng)。
總結(jié)
以上是生活随笔為你收集整理的php scrscriptipt,XSS挑战之旅闯关笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Golang——深浅拷贝
- 下一篇: 动态规划算法php,php算法学习之动态