巴扎嘿的小研究-鸡肋漏洞jQuery的DOM型XSS

相关声明

本文内容仅为技术科普,请勿用于非法用途。概不负责,一切后果由用户自行承担。

开一个新专题,巴扎嘿的小研究,就是防止当脚本小子遇到脚本用不了就尬住了的问题,来理解理解原理

之前答应朋友们的jQuery的dom型xss,脱离只能用写好的html弹窗,解决不弹窗就尬住的问题,f12控制台一件弹窗,潇洒无比不是梦

这个漏洞很鸡肋的,说是中危,其实就是没啥用,好多地方都懒得修复的实在找不到洞用来凑数的漏洞

首先你有xss的基础,然后要搞清楚三个东西,第一什么是jquery()($())这个方法,第二什么是dom,第三什么是js里src,

我们一个一个来解释

第一个首先来看一下jquery库是干啥的,用处很多HTML 元素选取,CSS 操作,还有很多很多的功能,我们关注的这个domxss相关的功能就是:HTML DOM 遍历和修改这个功能,接下来说一下 jquery()这个方法,官网说明:https://api.jquery.com/jQuery/

b6c31d01d41c

我个人理解,就是传入一个东西(字符串),然后用jquery()方法生成dom节点(creativea new jQuery object),或者选择一个已经存在的dom(search dom and match the provided selector),具体用法如下图:

7142b8354ca8

 

然后还要重点说明一下第一句话就说了jQuery( ) = $( ),$( )就是缩写。

 

然后第二点:什么是DOM,dom我理解就是层次模型,你可以理解为一颗节点树,哪些元素在哪,哪些东西在哪,个人理解

 

第三点:什么是src,html里src就是来源路径就是path,我js没有系统性的学过,我个人理解类似于python里的import 库 ,就是在接下来的代码中,能引用一些src路径的解释器里的路径,就比如说src=http://.././../../../jquery1.1.1-min.js,接下来的代码中就可以用$( )。

 

这三点都是个人理解,毕竟俺是萌新,希望大佬及时指出问题

 

这三点理解完了来看看怎么弹窗,首先你得确认一个网站存在jQuery的低版本库,具体存在dom型xss存在的版本可以查一下,俺是用插件直接检测的

05266877d72b

 

 

F12调出控制台,输入

 

var img = $(“<img onerror=’alert(1);’>”);

img.attr(‘src’,”);

95106a90f455

 

1ed045465c34

 

就弹窗了,好了就说这么多

 

 

 

开玩笑的哈哈哈,有人就问凭啥就弹窗了,我们首先看看问题所在

var img = $(“<img onerror=’alert(1);’>”);

声明了一个新的dom节点,是一个img ,element是一句xss payload,这一步并不会直接拆入到网站的DOM里,而是创建存于内存中

img.attr(‘src’,”);

第二句话.attr也是jQuery库里的方法.attr( ),个人理解就是设置或者修改属性的值,比如这里面就是修改这个img 的 src的值为空,你设置啥值都无所谓,这一句就是调用img,结果src路径不正确请求不到这个这个img,然后触发oneerror,同样的原理可以用其他jquery库的其他方法来触发不同的payload语句。

这篇文章主要基于这个大佬的文章进行的理解,还有就是具体是jquery哪些参数方法有问题,然后除了.attr()方法还能用哪些,他的文章更详细和专业,大家一定要看一下:

https://blog.csdn.net/weixin_32657693/article/details/118717954

请登录后发表评论

    • 风之凯的头像-FancyPig's blog披萨会员风之凯LV7超级版主1