进击的HACK
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
声明
jQuery xss不到万不得已不要使用。不然你会收到组长的鄙视,客户的质疑,同事的嘲笑。开发和运维可能会想打爆你的狗头。
这种漏洞在SRC中是不收的,众测是不要的,客户可能是不接受的。在你实在找不到漏洞,却必须有产出的时候再来考虑吧。
存在漏洞的jQuery版本
在大于或等于1.2且在3.5.0之前的jQuery。
漏洞存在的原因
在大于或等于1.2且在3.5.0之前的jQuery版本中,即使执行了消毒(sanitize)处理,也仍会执行将来自不受信任来源的HTML传递给jQuery的DOM操作方法(即html()、.append()等),从而导致xss漏洞。
利用工具
下载地址:https://github.com/mahp/jQuery-with-XSS
挖掘方法
1、将工具下载解压,使用编辑器打开test.html,修改第九行代码,将代码中的src=后的链接修改为要验证的jQuery链接。
替换链接,在测试中替换的就是被测试网站的jquery
2、保存后,使用浏览器打开,会看到3个demo。
3、可以依次点击这三个Demo,看哪个会弹窗。如果弹窗,说明此版本的漏洞被验证成功了。
4、也可以点击页面中的 test result,来判断自己版本的 jQuery 版本存在的 bug 编号。
5、知道 bug 编号之后,再来到 test.html 页面点击对应的 bug编号即可。
修复方法
更新jQuery到3.5.0或更高版本
参考链接
https://mp.weixin.qq.com/s/cc-4zACy9WJ7BMqcryYk0w
https://mp.weixin.qq.com/s/Do3XrT8fBLcwZxPy6wzTww
欢迎关注公众号:进击的HACK
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
