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