日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DVWA-Reflected Cross Site Scripting (XSS)

發(fā)布時間:2023/12/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DVWA-Reflected Cross Site Scripting (XSS) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗環(huán)境

DVWA靶機:172.16.12.10 靶場用戶名:admin 密碼:123

windos攻擊機:172.16.12.7

kali攻擊機:172.16.12.30

實驗步驟

反射型Xss <全稱跨站腳本攻擊,是一種在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。

其實反射型和DOM型的XSS差別主要在于,反射型是會往后臺服務器發(fā)送請求,而DOM型直接在前端進行解析;兩者都是一次性的

一、Low級

1、源碼分析

<?phpheader ("X-XSS-Protection: 0");// Is there any input? // arrary_key_exists()函數:判斷$_GET的值中是否存在“name”鍵名。并且$_GET[‘name’]的值是否不為空,滿足這些條件,直接輸出下面的輸出語句。if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Feedback for end userecho '<pre>Hello ' . $_GET[ 'name' ] . '</pre>'; }?>

可以看到,代碼直接引用了name參數,并沒有任何的過濾與檢查,存在明顯的XSS漏洞

2、漏洞復現

輸入<script>alert(/xss/)</script>,直接彈窗

抓包看到的XSS對應的鏈接如下:

二、Medium級

1、源碼分析

<?phpheader ("X-XSS-Protection: 0");// Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Get input //將輸入中的<script>轉化為空$name = str_replace( '<script>', '', $_GET[ 'name' ] );// Feedback for end userecho "<pre>Hello ${name}</pre>"; }?>

可以看到,這里對輸入進行了過濾,基于黑名單的思想,使用str_replace函數將輸入中的<script>刪除,這種防護機制是可以被輕松繞過的。

2、漏洞利用

1)雙寫繞過

輸入 <sc<script>ript>alert(/xss/)</script> ,成功彈窗

2)大小寫繞過

輸入 <ScRipt>alert(/xss/)</script> , 成功彈窗

三、Hign級

1、源碼分析

<?phpheader ("X-XSS-Protection: 0");// Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Get input //使用通配符,完全匹配script*N,所以有關script的標簽全被過濾$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );// Feedback for end userecho "<pre>Hello ${name}</pre>"; }?>

可以看到,High級別的代碼同樣使用黑名單過濾輸入,preg_replace()函數
用于正則表達式的搜索和替換,這使得雙寫繞過、大小寫混淆繞過(正則表達式中i表示不區(qū)分大小寫)不再有效

2、漏洞利用

雖然無法使用<script>標簽注入XSS代碼,但是可以通過img、body等標簽
的事件或者iframe等標簽的src注入惡意的js代碼。

輸入<imgsrc=1οnerrοr=alert(/xss/)>,成功彈框

四、Impossible級

源碼分析

<?php// Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Check Anti-CSRF tokencheckToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );// Get input //轉碼 & (和號) 成為 &amp; " (雙引號) 成為 &quot; ' (單引號) 成為 &#039; < (小于) 成為 &lt; > (大于) 成為 &gt;$name = htmlspecialchars( $_GET[ 'name' ] );// Feedback for end userecho "<pre>Hello ${name}</pre>"; }// Generate Anti-CSRF token generateSessionToken();?>

可以看到,Impossible級別的代碼使用htmlspecialchars函數把預定義的字
符&、”、’、<、>轉換為HTML實體,防止瀏覽器將其作為HTML元素。

總結

以上是生活随笔為你收集整理的DVWA-Reflected Cross Site Scripting (XSS)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。