level 2 : 標簽被編碼,利用屬性完成彈窗
輸入 發現沒有彈窗
查看源代碼:
發現: <>符號被編碼
說明keybord參數進行了處理,那么只能從屬性上進行惡意編碼:先將屬性的引號和標簽閉合,用 // 將后面的 “> 注釋掉
顯示如下
再次查看源碼:
level 3 : 標簽被編碼,使用 on 事件完成彈窗
先用test測試,查看源碼
同level 2,使用keyword參數 script標簽,查看源碼得:
發現標簽被編碼,value參數被處理,加一個單引號閉合value值,這時候可以采用特殊的 on 事件來執行 js 代碼,最后再用單引號閉合onfocus的值。
onfouce 事件在對象獲得焦點時發生。示例如下: https://www.runoob.com/try/try.php?filename=tryjsref_onfocus
使用 onclick onmouseover 皆可
彈窗沒有直接出現,當鼠標點擊搜索框后,彈窗出現,本關通過~~
level 4 :同 3 使用 on 事件
先使用 test 測試并查看源碼:
使用scrip標簽嘗試是否有彈窗,發現標簽的括號被刪除
參考 level 3 不需要使用括號
使用 on 事件 ,同時添加雙引號閉合
點擊搜索框出現彈窗,
本關pass ~
level 5 對于屏蔽關鍵字的繞過
在搜索框輸入test進行測試,并查看源代碼:
在URL按老辦法,輸入
發現標簽被屏蔽,
重新嘗試on事件,發現關鍵字也被處理屏蔽:
那么我們需要嘗試新的語句,找到沒有被轉義或者過濾的語句:
我們這次使用javascript語句進行嘗試:可以發現javascript沒有被過濾或轉移,那我們就可以嘗試用javascript字符進行注入
嘗試使用javascript語句:
可以發現頁面上多了一個顯示為xss的鏈接,點擊發生彈窗就pass嘿嘿
herf的性質可以參考本鏈接:https://zhidao.baidu.com/question/1987826329217404947.html
作用是會彈出一個靜態的不會跳轉的鏈接(應該是這個意思叭?臥草!)
根本在于不斷嘗試,知到找到那個沒有被屏蔽可以進行xss注入點的語句
level 6 使用關鍵字的大小寫繞過過濾和轉義
參考前面關卡依次使用:
結論 : 過濾和轉義了以上所有注入方法, 但是javascript沒有過濾
emmmmm…
因為HTML對大小寫的不敏感,所以我們對標簽中的href大寫輸入
可以發現鏈接出現
點擊則通關