XSS跨站腳本
根據中國網路安全法,僅用于網路安全學習
xss屬于代碼注入的一種,它允許惡意用戶京代碼注入網頁,用戶在瀏覽頁面時就會受到影響,
XSS分類
一、反射性xss
攻擊方式:攻擊者通過電子郵件的等方式,將含有xss的惡意代碼連接發送給目標用戶,當用戶訪問鏈接時,服務器接收到用戶的請求并進行處理,然后服務器把帶有XSS代碼的資料發送給瀏覽器,瀏覽器決議惡意腳本,觸發XSS漏洞
二、存盤型XSS(持久性)
攻擊方式:多見于留言板,發帖子等提交框,提交后惡意腳本連通正常資訊一起注入帖子內容中,帖子被服務器存盤,惡意腳本也存入了服務器后端,當用戶瀏覽帶有惡意腳本的帖子時,惡意腳本有被瀏覽器決議執行,
三、DOM型XSS
DOM型可以使腳本動態的訪問和更新檔案的內容和結構;他是特殊的反射性XSS;網頁的結構時與HTML節點樹構成(head、title、各種標簽),這種型別可以通過JS語言控制HTML結構,或諸多操作,DOM型不與資料庫互動,所以也是特殊的反射型XSS
反射性XSS實驗及代碼分析
low等級
我們可以看到low等級沒有做任何限制,當輸入111時,就會顯示111,若我們輸入則又可以執行彈窗代碼;


3、height等級
看一下原始碼:
htmlspecialchars(string): 把預定義的字符 “<” (小于)、 “>” (大于)、& 、‘’、“” 轉換為 HTML 物體,防止瀏覽器將其作為HTML元素,只要我們寫< script>就會給我們過濾掉;

htmlspecialchars() 函式把預定義的字符轉換為 HTML 物體,
輸入的>和<號會被轉義了,
存盤型XSS及代碼分析
1、low等級
原始碼分析:

輸入用戶名和一段 ,strip_tags函式把script標簽給剝除了,addslashes函式把 ’ 轉義成了 ’
分析網頁原始碼,這里對name進行了長度限制;

我們可以考慮對對name欄位進行注入,使用burp suite抓包,修改name欄位為腳本,再放回資料包,成功彈窗;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/280314.html
標籤:其他
