歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

XSS繞過實戰練習

來源:本站整理 作者:佚名 時間:2019-06-19 TAG: 我要投稿

我寫這篇文章起源來自于一次網絡安全實驗課,在實驗虛擬環境里有一個xss挑戰,估計是搬別人的xss挑戰進來,我覺得挺有意思,就記錄一下。有些關卡不能再虛擬環境實踐,我在自己物理機上找到那個xss挑戰平臺進行實現。
level1
未進行過濾,直接輸入payloadpayload:alert(/xss/)

level2
發現對html特殊符號進行了實體編碼,失效,但是發現下面input標簽里還有一個輸出點,可以對這個構造事件payload

payload:" onclick=alert(/xss/)>
當然需要點擊一下觸發

level3
編碼了雙引號,但是源碼里用的單引號,用單引號構造即可
payload:'onclick=alert(/xss/)>

level4
過濾了符號,我們只能用事件繞過,這里利用瀏覽器的容錯特性,不閉合直接注釋也能執行
payload:" onclick=alert(/xss/)//

level5
有兩處輸出的地方,第一處對特殊符號進行了實體編碼,第二處將on開頭的事件全部替換加下斜杠,也將標簽替換為,并且做了轉小寫處理,這里因為匹配的是標簽,而不是script字符,所以可以使用javascript:alert(/xss/),并且可以閉合雙引號,那我們就構造鏈接彈窗

payload:">xss
點擊xss

level6
這里緊接就過濾了href標簽,但是卻沒有做小寫處理,可以用大寫繞過匹配
payload:">xss
或者:">alert(/xss/)


level7
做了小寫處理,將script和href,src,on等字符串替換為空字符

猜測只替換了一次,我們可以用雙寫繞過
payload:
">alert(/xss/)
">xss
">
" oonnclick=alert(/xss/)>

level8
做了小寫處理,將script和href,src,on等字符串加上下斜杠,使其無法正常解析,還將雙引號實體編碼,是我們不能閉合雙引號
這里是一個a標簽,用href構造一個鏈接

想到可以調用外部js,但事實并沒那么簡單,因為完成目標需要在本頁面彈窗,才會顯示輸出,并跳轉到下一關

因為這里是先添加一個鏈接,再打開這個鏈接,會打開另一個界面,就不在本界面彈窗,所以外部調用不可行
只能用偽協議javascript:alert(/xss/),但script會被替換
那我們只有嘗試編碼繞過了
用實體編碼可繞過
payload:
十進制實體編碼:javascript:alert(/xss/)
十六進制實體編碼:javascript:alert(/xss/)

[1] [2] [3]  下一頁

【聲明】:黑吧安全網(http://www.zjtpzs.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        神秘东方电子游艺