写了一个简单的PHP页面,用来测试主流浏览器对于反射型XSS漏洞的反应。代码如下。
$input=$_GET["param"];
echo "<div>".$input."</div>";
?>```
我选择了Firefox、IE11、Microsoft Edge、GoogleChrome浏览器做测试。</br>
在各自地址中,访问如下地址:
http://localhost/attackapi/xss.php?param=hello world
都能在页面上正常显示文本内容 hello world。</br>
但当我访问如下地址时,
http://localhost/attackapi/xss.php?param=<script>alert('attacked')</script>
**Firefox 51.0.1(32位)**
反应如下:

**IE 11**
反应如下:

**Microsoft Edge 38.14393.0.0**
反应如下:

**Google Chrome 版本 56.0.2924.87 (64-bit)**
反应如下:

从上面的测试中,如果param值是普通内容,各浏览器反应正常。但如果param值是可执行的脚本时,可以看到除了谷歌浏览器,其他的浏览器把param中的值当成脚本代码给执行了,而谷歌浏览器判断出这可能是恶意脚本代码,所以未执行。
# 结论
在主流浏览器中,谷歌浏览器是可以防御反射型XSS漏洞攻击的,这个可以很好起到保护用户信息安全的作用。











网友评论