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>,代码被执行。