xss challenges通關攻略(含取巧,技術流就當看不見)
第一關:沒有任何過濾,直接寫入語句
第二關:由f12發現原始碼中有value存在,考慮閉合
第三關:隨機輸入,抓包發現
修改p2
第四關:
說明存在不可見的輸入域
抓包
發現p3“hackme”
在p3輸入
放包
通過
第五關:
根據提示,輸入的文字框長度被限制
直接在原始碼中更改限制的文字長度之後輸入語句
第六關
根據提示event handler attributes
採用js事件
" οnclick="alert(document.domain)"新增到文字框標籤中
第七關
根據提示輸入與上關相同的答案,錯誤,發現空格會被雙引號分割
第八關
根據提示
第九關
UTF-7
受第六關啟發在search按鈕中新增事件
彈窗了但是未通過
又在hint中的id=hide後新增事件
通過
第十關
直接輸入測試語句發現domain被過濾了
採用雙寫繞過
"><script>alert(document.dodomainmain);</script>
第十一關
無
第十二關
"s/[\x00-\x20\<\>\"\']//g;"
特殊字元都被過濾了,只有用``繞過,但只有ie瀏覽器會把``識別成“
`` onmouseover=alert(document.domain);
第十三關
根據提示:
直接構造
不通過
故技重施
第十四關
還是過不了,再次故技重施
onclick=”alert(document.domain)”
第十五關
第一次輸入測試語句發現/等特殊符號被過濾
使用ascii編碼+雙寫/
\\u003cscript\\u003ealert(document.domain)\\u003c/script\\u003e
第十六關
無法進入
第十七關
這裡說只可以在此頁面只可以在老版本ie上執行,可以跳過,但繼續傳統藝能,通過給提示按鈕新增事件彈窗
第十八關
傳統藝能
第十九關
在link連結標籤中新增js事件彈窗
通關
引自
https://www.cnblogs.com/goodhacker/p/3312721.html:
第十七關和第十八關:
17:multi-byte character euc-jp的編碼範圍: byte 1為8E時, 為2 byte編碼, byte 2範圍為A1-DF ,byte 1範圍為A1-FE時, 為2 byte編碼, byte 2範圍為A1-FE ,byte 1為8F時為3 byte編碼, byte 2與byte 3範圍均為A1-FE ,兩個表單元素都提交%A7閉合最後的雙引號,檢視原始碼成功了,但由於ie瀏覽器的問題,可以在老版本里採用一下語句一試
p1=1%A7&p2=+onmouseover%3Dalert%28document.domain%29%3B+%A7
18:us-ascii high bit issue 41-5A, 61-7A (若含數字與符號則為21-7E) 同樣別用IE8,這些漏洞已經在IE8中修補了。
p1=%A2%BE%BCscript%BEalert(document.domain);%BC/script%BE