dvwa详解_DVWA(六):XSS-Reflected 反射型XSS全等级详解
XSS 概念:
由于web應(yīng)用程序?qū)τ脩舻妮斎脒^濾不嚴(yán),通過html注入篡改網(wǎng)頁,插入惡意腳本,從而在用戶瀏覽網(wǎng)頁時(shí),控制用戶瀏覽器的一種攻擊。
XSS類型:
Reflected(反射型):只是簡(jiǎn)單的把用戶輸入的數(shù)據(jù)反射給瀏覽器,需要誘導(dǎo)用戶點(diǎn)擊一個(gè)惡意鏈接才能攻擊成功。
存儲(chǔ)型:將用戶輸入的數(shù)據(jù)存儲(chǔ)在服務(wù)器端,每次用戶訪問都會(huì)被執(zhí)行js腳本
DOM型:文本對(duì)象模式xss,通過修改頁面的DOM節(jié)點(diǎn)形成的XSS,可存儲(chǔ)型,可反射型,取決于輸出地點(diǎn)
(關(guān)于DOM節(jié)點(diǎn),DOM為Document Obeject Mode首字母縮寫,翻譯為文檔對(duì)象模型,在網(wǎng)頁中所有對(duì)象和內(nèi)容都被稱為節(jié)點(diǎn),如文檔、元素、文本、屬性、注釋等,節(jié)點(diǎn)是DOM最基本的單元
并派生出不同類型的節(jié)點(diǎn),他們共同構(gòu)成了文檔的樹形結(jié)構(gòu)模式)
XSS應(yīng)用場(chǎng)景:1.利用xss獲得cookie,2.重定向,3.釣魚網(wǎng)站,4.DDOS
記錄一些一般的payload:(這里看不懂可以先看下面的示例,看完返回來看這里就會(huì)明白一些了)
1.
2.
3.click1??? #點(diǎn)擊click1時(shí)彈出cookie值
4.? #src地址錯(cuò)誤,然后執(zhí)行onerror的內(nèi)容
Low級(jí)別:
觀察源碼:
header ("X-XSS-Protection: 0");
// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// Feedback for end user
echo '
Hello ' . $_GET[ 'name' ] . '';}
?>
源碼沒有對(duì)參數(shù)做任何防御處理措施
下面給一些基本的XSS攻擊
1.
2.
3.click1??? #點(diǎn)擊click1時(shí)彈出xss3
4.? #src地址錯(cuò)誤,然后執(zhí)行onerror的內(nèi)容
例如我們這里輸入:
構(gòu)造獲取cookie的payload:
然后Logout 用這段cookie值進(jìn)行登錄即可以被攻擊者的身份訪問此網(wǎng)站(在未關(guān)閉瀏覽器前)
Medium
觀察源碼:
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL) {//Get input
$name = str_replace( '
echo "
Hello ${name}";}
對(duì)于script標(biāo)簽進(jìn)行了過濾,下面提供幾個(gè)繞過的方法
1.大小寫分開
2.ipt> 類似于SQL注入中的雙寫
3.用別的標(biāo)簽替換 :
同樣也可以獲得cookie 之后就可以通過cookie以被攻擊者的身份訪問此網(wǎng)站
High
觀察源碼:
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL) {//Get input
$name = preg_replace( '/
echo "
Hello ${name}";}?>
分析源碼,可以看到,使用了preg_replace正則表達(dá)式函數(shù),對(duì)參數(shù)進(jìn)行過濾,查看源碼可以看到對(duì)
執(zhí)行:
Impossible
觀察源碼:
使用了htmlspecailchars函數(shù)做了html實(shí)體轉(zhuǎn)義,無法利用XSS
總結(jié)
以上是生活随笔為你收集整理的dvwa详解_DVWA(六):XSS-Reflected 反射型XSS全等级详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 获取url 参数值
- 下一篇: lisp型材库_STMX 1.3.2 发