此番就是水文,对真正的大佬来说,就是小儿科,请忽视本文,不喜误喷,你敢喷我,我也不理你!哈哈
太久没写文章了,今天写这篇文章,也是闲的无聊写一发,尴尬。太忙了现在,因为我太菜了...
原文链接:https://mp.weixin.qq.com/s/cnZWmnJjklLLjpbT1MQmVA
JavaScript 框架漏洞
0x01 介绍
然后去复现:
开启Nginx
去访问刚刚文章里给出的利用方式,访问:http://127.0.0.1/#<img src=s src οnerrοr=alert('Agan') ,发现无法弹出XSS?
此处有点疑问,是不是我菊花出现的问题?
先放在,继续搜索引擎上找文章,发现一篇
代码是这样的
自己稍微改了一下,变成如下
但是好像发现,我用最新版本的jquery-3.4.1和旧版本的jquery-1.0.1.min.js 访问都会弹XSS?
低版本试试,居然可以弹?满心欢喜,内心暗爽,终于快到高潮了
最新版本试试,尼玛居然还能弹?但是我在在线Javascript 框架版本漏洞检测页面,没看到有最新框架的漏洞版本信息啊
http://research.insecurelabs.org/jquery/test/
然后,我依次试了试其它版本,发现都特么能弹?
原谅我,不懂HTML、JS,小白不懂原理,哈哈!(你就假装我会,可以嘛?各位师傅,我不会就是不会,绝b不装X,我是块绝世好b)
最后的最后,经过一番折腾,发现人家谢公子博客给的漏洞验证代码就是没有问题,可能都是我太菜的缘故,不懂也不敢去问,只能去舔大佬告诉我,呜呜,我已经不干净了...
https://blog.csdn.net/qq_36119192/article/details/89811603
验证该漏洞
最后的最后最后,也不比比奶奶了,直接上怎么验证该漏洞的
换成最新版本的,我们再试试,看看能不能弹窗?
此处,我们可以看到,好像最新版本不存在该框架漏洞?看来小老弟我姿势不对,没插好(哭笑不得)
修复建议
升级到最新Jquery版本或隐藏版本信息
在实际工作中,遇到隐藏版本信息的,直接写个小东西自动化哈,探测一下是什么版本就好了,隐藏版本信息无非让人感觉此处无银三百两的感觉。
遇到升级之后还未修复,可能是其他的js包引起的,jquery-migrate-x.x.x.min.js包也会导致XSS跨站漏洞,如果引用此js包,可以尝试升级。
解决问题二的方案是:
jquery-migrate包会导致很多脚本执行报错,直接删除jquery-migrate包,然后替换掉所有js包里废弃的js函数, 例如 live 改成on 。
怎么升级包失败,漏洞未修复解决方案的文章链接如下:
https://blog.csdn.net/Galadridel/article/details/91411777
结尾:
希望跟我一样的刚入门安全的师傅们,找漏洞的时候,尽量熟悉下漏洞原理,如果是前期刚刚开始(其实好多漏洞原理我也不会,请允许我装一下,等会你们抽我就好,呜呜呜),不知道原理没关系,但随着时间的成长,还是要懂一点,要不然你截个javascript框架版本号就说是有漏洞,但人家让你复现,你还拿错POC去给人家,人家不被你气哭。
就怕,万一旦遇到难搞的厂商开发,硬是要你复现出来,你搞不出来,怼不过他,那就... ...