bwapp(1)

HTML Injection - Reflected (GET)

low

bwapp(1)_第1张图片

题目很明显注入,而且提交方式为get,尝试着在输入框分别输入1和1

http://192.168.109.130/bWAPP/htmli_get.php?firstname=1&lastname=1&form=submit

下方也会显示

bwapp(1)_第2张图片

那么尝试注入代码

<marquee><h2>You just got hacked!!h2>marquee>

成功注入

bwapp(1)_第3张图片

medium

bwapp(1)_第4张图片

尝试直接注入

<marquee><h2>You just got hacked!!h2>marquee>

注入失败

bwapp(1)_第5张图片

查看源码发现<和>被转义成<;和>;

尝试将<和>进行urlencode成%3C和%3E进行注入

%3Cmarquee%3E%3Ch2%3EYou just got hacked!!%3C/h2%3E%3C/marquee%3E

成功绕过并注入

high

高级别的直接放源码审计吧

function xss_check_3($data, $encoding = "UTF-8")
{

    // htmlspecialchars - converts special characters to HTML entities    
    // '&' (ampersand) becomes '&' 
    // '"' (double quote) becomes '"' when ENT_NOQUOTES is not set
    // "'" (single quote) becomes ''' (or ') only when ENT_QUOTES is set
    // '<' (less than) becomes '<'
    // '>' (greater than) becomes '>'  
    
    return htmlspecialchars($data, ENT_QUOTES, $encoding);
       
}

很明显源码中用了htmlspecialchars()这个函数,码一波:

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

预定义的字符是:

& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >

能力有限,只能观摩一波,浅尝辄止。

你可能感兴趣的:(安全,靶机)