DVWA-11.3 XSS (Reflected)(反射型跨站脚本)-High

High Level

查看源码

<?php

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

?>

可以看到,high级别的代码使用了正则表达式直接把 <*s*c*r*i*p*t 给过滤了,* 代表一个或多个任意字符,i 代表不区分大小写。所以,我们的<script>标签在这里就不能用了。

但是我们可以通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。

漏洞利用

我们输入 <img src=1 onerror=alert('xss')> ,发现代码执行成功。

上面输入的意思是,当图片显示错误时,然后执行 alert('hack') ,这里我们的src=1肯定显示错误啊,所以就执行 alert 语句。

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