xss无限弹窗

模拟一个无线弹窗的 xss 攻击请求:

$from = htmlspecialchars($_GET['from']);
echo "<script>location.href='{$from}';</script>";

如代码所示,php 已经做了基本的特殊字符转换,若此时url访问为:
http://localhost:8080/?from=%27;alert(1)// 页面将会无线弹窗输出 1。

这个参数传到后端,生成的字符串是:

<script>location.href='';alert(1)//';</script>

// 注释了后面的部分,alert 是同步 CPU 代码所以页面首先弹窗,location.href='' 是刷新当前页面。所以现象就是弹窗输出1,确定以后刷新当前页面,再次弹窗...,就造成了无限弹窗的 xss 攻击。

%27 是单引号的url编码,要了解url编码可以查看阮一峰的这篇文章http://www.ruanyifeng.com/blo...

阅读 163

推荐阅读