本文內容:
~什麼是DOM型XSS
~Dom型 XSS
~實戰注意
一、什麼是DOM型XSS
0,官方說法簡直能把人繞暈,簡單的說:
Dom的核心就是操縱document,document的核心就是操縱瀏覽器
每個載入瀏覽器的HTML文檔都會成爲document對象,所以注意一件事:
Dom型攻擊與服務器基本沒關係,document是一個JS語句
瀏覽器F12控制檯運行的一般都是JS
二、Dom型 XSS
1,document常調用屬性
cookie -- 設置或者返回文章有關cookie
body -- 提供對<body>元素的直接訪問
lastModified 返回文檔最後修改日期與時間
title 返回當前文檔的標題
domain 返回當前文檔的域名
write 返回自己寫的語句
referrer 返回載入當前文檔的文檔的url
url 返回當前文檔的url
2,僞靜態
本質是動態頁面,卻把自己裝作靜態。
可以就通過 document.lastModified 來判斷,看多次返回時間是否一致
3,JS支持Native編碼(可以用在線網站相互轉碼Ascii)
將<script>alert(1)</script>編碼爲
\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0061\u006c\u0065\u0072\u0074\u0028\u0031\u0029\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e
這個編碼在控制檯結合document.write('')一樣可以在瀏覽器彈窗
4,總結一下Dom型Xss
輸入語句原本不能造成XSS,但是經過JS處理之後產生了Xss
所以,從某種角度上來說。Dom型XSS既可以打出反射型xss,也可以打出存儲型xss。
而且,大部分的Waf是攔截不了Dom型xss
最後,防禦DOM型xss也很好防禦,只要JS不進行處理就沒用
三、實戰注意
1,攻擊步驟
1,準備XSS語句與xss平臺
2,找xss可能存在的地方(一些框與url參數欄目)
3,先用反射型xss測試,有的話在用存儲型xss
4,有狗可以換成DOM型,或者找找過狗語句
2,記得閉合
假如能打入語句,記得閉合語句,閉合語句!閉合語句!
不然,可能會喫國家飯
3,如何挖掘 xss
~之前總是建議見框就插,其實不怎麼科學
//因爲有些網站是有前端過濾的
~建議,輸入正常值,抓包,修改語法,發送
//相當麻煩點,但這樣更徹底。
挖掘src本身就是一個辛苦活~~~