常見的7種XSS


1. URL Reflection

當URL以某種方式反映在源代碼中時,我們可以添加自己的XSS向量/有效負載。對於PHP頁面,可以使用斜杠字符(/)在頁面名稱之后添加任何內容

http://brutelogic.com.br/xss.php/”><svg onload=alert(1)>

 

需要使用前導標記(“>”)來突破當前標記,以便插入新標記

 

2. Simple HTMLi (HTML injection)

最簡單的輸入,恰好在現有標簽之間的代碼中,在它們之前或之后。無需逃避或破壞任何東西,任何簡單的XSS向量(<tag handler=jsCode>)都能完成

http://brutelogic.com.br/xss.php?a=<svg onload=alert(1)>

3. Inline HTMLi

幾乎與前一個一樣簡單,但有一點“>前置突破當前標簽

http://brutelogic.com.br/xss.php?b1=”><svg onload=alert(1)>

 

4. Inline HTMLi: No Tag Breaking

當輸入登陸HTML屬性並且過濾大於字符(>)時,就不可能像前一種情況那樣打破當前標記

http://brutelogic.com.br/xss.php?b3=” onmouseover=alert(1)// 這樣既可突破

它關閉了值並為插入onmouseover事件處理程序提供了空間。指向警報(1)后跟雙斜線以注釋懸掛引號,當受害者將他/她的鼠標指向受影響的輸入字段時觸發js彈出窗口

5. HTMLi in Js (Javascript) Block

輸入有時會進入javascript塊(腳本標記),通常是代碼的某個變量的值。但是因為HTML標記在瀏覽器的解析中具有優先權,所以我們可以簡單地終止塊並插入新標記

http://brutelogic.com.br/xss.php?c1=</script><svg onload=alert(1)>

 

6. Simple Js Injection

 

所以要走的是注入javascript代碼,尊重語法。一種已知的方法是將易受攻擊的變量的值“連接”到我們想要執行的代碼。因為我們不能讓任何引號掛起,我們首先斷開,連接到我們的代碼(帶減號),然后反向(連接然后插入引號)以獲得有效的javascript語法 

http://brutelogic.com.br/xss.php?c3=’-alert(1)-‘

7. Escaped Js Injection

在前一種情況下,如果使用反斜杠(\)轉義引號(負責轉出變量的值),則注入將不起作用(語法無效)。

為此,我們有一個小技巧:逃避逃脫。我們插入一個前導反斜杠來逃避添加的反斜杠然后報價將起作用。在“連接”到我們想要的js代碼之后,我們需要注釋掉其余部分,因為在注入的剩余部分沒有辦法重復該過程。

http://brutelogic.com.br/xss.php?c5=\’-alert(1)//

 

轉載:

https://brutelogic.com.br/blog/the-7-main-xss-cases-everyone-should-know/


免責聲明!

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



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