DVWA之DOM型XSS

DOM型XSS

是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞,其触发不需要经过服务器端,也就是说,服务端的防御并不起作用。

Security Level: low

源码



# No protections, anything goes

?> 

分析

什么限制都没有,大胆尝试

进行下方的实验

DVWA之DOM型XSS_第1张图片
发现在url的default写什么页面便生成什么

Security Level: medium

源码

 

// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {
    $default = $_GET['default'];
    
    # Do not allow script tags
    if (stripos ($default, ") !== false) {
        header ("location: ?default=English");
        exit;
    }
}

?>

分析

源码,发现只对script标签进行了过滤,过滤方式是调用stripos()函数获取“

进行下方的实验

DVWA之DOM型XSS_第2张图片

Security Level: high

源码

 

// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {

    # White list the allowable languages
    switch ($_GET['default']) {
        case "French":
        case "English":
        case "German":
        case "Spanish":
            # ok
            break;
        default:
            header ("location: ?default=English");
            exit;
    }
}

?>



分析

需要找一种方法在本地运行你的JS代码而无需经过服务器端的处理。这里提供的一种方法就是,应用#号,URL栏的#号之后的内容并不会发送至服务器端,JS应用该符号实现在页面创建加载过程中定向到指定的页面内容上。

进行下方的实验

DVWA之DOM型XSS_第3张图片

你可能感兴趣的:(DVWA)