毋庸字母构建XSS向量

之前我在玩一个XSS游戏的时候突然有了些想法,本着分享的原则,于是便有了这篇文章。在此,我将分享一个此前没有接触过的一个XSS攻击向量。

相同水平的前提下,在攻击向量中不使用任何字母,且必须挪用alert(1)。

闲话少说,看这里:

""[(!1+"")[3]+(!0+"")[2]+(''+{})[2]][(''+{})[5]+(''+{})[1]+((""[(!1+"")[3]+(!0+"")[2]+(''+{})[2]])+"")[2]+(!1+'')[3]+(!0+'')[0]+(!0+'')[1]+(!0+'')[2]+(''+{})[5]+(!0+'')[0]+(''+{})[1]+(!0+'')[1]](((!1+"")[1]+(!1+"")[2]+(!0+"")[3]+(!0+"")[1]+(!0+"")[0])+"(1)")()

真是一团糟,咱们到底做了些什么呢?接下来容我慢慢给大家道来。

分析

首先从空字符串开端,接下来咱们访问括号而不是咱们熟悉的点符号的属性。

请注意,在接下来的一分钟咱们将构建字符串,不会用到点符号结构字符串名的对象属性,当初切换到括号。

当初咱们访问的是什么属性?下面这个就是“字符串”

(!1+"")[3]+(!0+"")[2]+(''+{})[2]

接下来从!1(false)开端,将“”添加到一个non-String值中是一个快速且直接的方法,所以(!1+””)咱们失掉false

将字符带入索引3中的“false”(结果切好是s),在(!0+””)[2]或者“true”[2]再次尝试,你会失掉字母u。最后将字符带入索引2的字符串“[object Object]”中,你会失掉字母b。

不使用任何字母,结构一个字符串来访问空字符串对象的“sub”属性,然而sub不仅仅是一个属性,它还是一个函数!

此时此刻,你可能会认为我接下来会通过挪用String.sub函数破坏过滤。或许这么做也行,但是我选择更加有深度的做法,函数有什么内置属性?如何结构函数?

如果你打开一个JavaScript控制台,键入“”[“sub”][“constructor”],你看到了什么?为什么失掉了Function()函数!似乎咱们有事情干了…

给你点提示:这其中有n

((""[(!1+"")[3]+(!0+"")[2]+(''+{})[2]])+"")[2]

咱们有熟悉的“”[“sub”]:

((""["sub"])+"")[2]

向其中增加“”,失掉function sub() { [native code] }。将字符带入索引2失掉字母n

总结

咱们当初失掉了相当于Function()的“”[“sub”][“constructor”],挪用它咱们就可以定义一个函数了。当咱们尝试挪用alert(1)时,就需要连接更多的“true”和“false”来构建alert字符串,其后在加上+”(1)”。

当初咱们挪用Function(“alert(1)”),大功告成,当初只需一个挪用,返回一个匿名函数就可以实现弹出。

// empty string""// ["sub"][(!1+"")[3]+(!0+"")[2]+(''+{})[2]]// ["constructor"][(''+{})[5]+(''+{})[1]+((""[(!1+"")[3]+(!0+"")[2]+(''+{})[2]])+"")[2]+(!1+'')[3]+(!0+'')[0]+(!0+'')[1]+(!0+'')[2]+(''+{})[5]+(!0+'')[0]+(''+{})[1]+(!0+'')[1]]// ("alert(1)")(((!1+"")[1]+(!1+"")[2]+(!0+"")[3]+(!0+"")[1]+(!0+"")[0])+"(1)")// call anonymous function returned by Function()()

本文最开端的Function(“alert(1)”)()确实十分混乱,不使用任何可识别的字符串确实很难辨识。你可以在地址栏键入“javascript:”复制粘贴上面的代码点击回车键进行测试。

我喜欢你能够喜欢JavaScript语言中这种十分隐晦的表达方式,Happy hacking!

【编辑推荐】

【责任编辑: TEL:(010)68476606】

转载自:https://netsecurity.51cto.com/art/201510/493915.htm

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《毋庸字母构建XSS向量
本文地址:http://www.xiupu.net/archives-4933.html
关注公众号:嗅谱网

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!