DVWA-Reflected XSS
生活随笔
收集整理的這篇文章主要介紹了
DVWA-Reflected XSS
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- Reflected XSS Source(Low)
- 代碼分析
- 漏洞利用
- Reflected XSS(Medium)
- 代碼分析
- 漏洞利用
- 雙寫繞過
- 大小寫混淆繞過
- Reflected XSS(High)
- 代碼分析
- 漏洞利用
Reflected XSS Source(Low)
vulnerabilities/xss_r/source/low.php
代碼分析
<?php header ("X-XSS-Protection: 0"); // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { // Feedback for end user echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>'; } ?>$_GET[ ‘name’ ]無任何過濾
漏洞利用
輸入,成功彈框:
http://127.0.0.1/dvwa/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28233%29%3C%2Fscript%3E
Reflected XSS(Medium)
代碼分析
<?php header ("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 user echo "<pre>Hello ${name}</pre>"; } ?>可以看到,這里對輸入進行了過濾,基于黑名單的思想,使用str_replace函數(shù)將
輸入中的<script>刪除,這種防護機制是可以被輕松繞過的。
漏洞利用
雙寫繞過
輸入<sc<script>ript>alert(233)</script>,成功彈框:
大小寫混淆繞過
輸入<ScRipt>alert(233)</script>,成功彈框:
Reflected XSS(High)
代碼分析
<?php header ("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 user echo "<pre>Hello ${name}</pre>"; } ?>$name = preg_replace( ‘/<(.)s(.)c(.)r(.)i(.)p(.)t/i’
使用黑名單過濾輸入,preg_replace()函數(shù)用于正則表達式的搜索和替換,這使得雙寫繞過、大小寫混淆繞過(正則表達式中i表示不區(qū)分大小寫)不再有效。
漏洞利用
雖然無法使用<script>標簽注入XSS代碼,但是可以通過img、body等標簽的事件或者iframe等標簽的src注入惡意的js代碼。
輸入<img src=1 onerror=alert(/233/)>,成功彈框:
總結(jié)
以上是生活随笔為你收集整理的DVWA-Reflected XSS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebLogic简单抓鸡大法
- 下一篇: 如何安装IIS