先正常留言查看返回情况

可以看到我们输入的 url 放到了<a></a>
中,一个放在href
中,一个放到tracker.track()
中
先试试能不能突破href
,从返回的源码看,输入的双引号被 html 实体编码了,整体被当作字符串处理了

再看看如何突破tracker.track()
中的 url

可以看到服务器端给我们的单引号转义了,添加转义符方法不行了

那我们直接输入 html 实体编码后的单引号进行绕过'

可以看到单引号成功输入到链接中

下面就可以使用运算alert(1)
弹窗了
http://Zerlk.com'-alert(1)-'

下面解释下为啥 tacker.track()
中传入 url 拼接alert
可以执行弹窗

当我们输入 html 编码后的单引号,后端服务器没识别到单引号,不在添加转义符
执行运算时执行了alert(1)

bash
echo "QmlsaWJpbGkgc2VhcmNoICdQZW5UZXN0M3JfWmVybGsnIGZvciBtb3JlIHZpZGVvLCBUaGFuayB5
b3UgZm9yIHlvdXIgc3VwcG9ydCEK"|base64 -d