Ricky Hao

XSS:IE下伪造Referer和Request_URI

0x00

有时候,网站会将Referer或者是Request_URI的内容读取呈现出来。
在这种情况下,我们若是能构造一个页面跳转到目标页面,就能在IE下通过Referer完成XSS。
或者构造链接,能够在IE下通过Request_URI完成XSS。
影响版本: IE 11

0x01 IE下Referer Header XSS

这里一个问题是,Chrome和Firefox都会对跳转链接里的<>字符进行url编码,然而IE并不会。
那么我们就可以构造一个跳转页面

# referer.php
<iframe src="http://target.com/abc.php">

通过浏览器访问这个页面的时候,会通过iframe标签加载我们的目标网页。
在这时,我们构造这样的跳转页面链接

http://127.0.0.1/referer.php?<script>alert(document.domain)</script>

就能在跳转的时候,在Referer Header里成功带上我们的Payload。

0x02 IE下Request_URI XSS

从上面可以看出,IE并不会对URL里号后面的<>进行URLEncode。
例如http://127.0.0.1/1.php?<>,这里的<>就不会被URLEncode。
那么我们就可以直接构造

http://127.0.0.1/request_uri.php?

就可以对REQUEST_URI进行注入,导致XSS。

0x04 参考

不常见的xss利用探索

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据