`
冰封王座
  • 浏览: 9122 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

不需要字母构建的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:”复制粘贴上面的代码点击回车键进行测试。

 

分享到:
评论

相关推荐

    论文研究-一种自动生成XSS攻击向量的方法 .pdf

    一种自动生成XSS攻击向量的方法,冯亦彤,罗守山,针对XSS漏洞检测工具在攻击向量选取上的不足,本文提出了一种自动生成XSS攻击向量的方法。为了优化攻击向量的生成,本文从三个方面

    H5SC, HTML5安全Cheatsheet一个HTML5相关的XSS攻击向量集合.zip

    H5SC, HTML5安全Cheatsheet一个HTML5相关的XSS攻击向量集合 HTML5安全... 在这里你可以找到三种东西:一个 Collection 相关的XSS攻击向量一组用于XSS测试的有用文件一组以前隐藏的用于XSS测试的特性 XSS矢量可以在以下

    XSS_Rays.zip_XSS Rays 下载_tool_xss扫描_xss扫描器_漏洞扫描

    基于JS的XSS扫描器——XSS Rays. 最近The Spanner发布了一个名为XSS Rays的 XSS漏洞扫描器。这tool有点意思,是使用JS写的,JS遍历目标的link、form,然后构造测试用例去测试,可以发现DOM的XSS(当然是在测试用例打...

    H5SC:HTML5安全备忘单-与HTML5相关的XSS攻击向量的集合

    XSS向量的集合可以在这里找到: : 有用的文件 我们发布了在各种情况下对XSS测试有用的文件列表。 当前,以下文件可用: 欢迎拉取请求,我们将文件存储在/attachments子文件夹中。 隐藏功能 H5SC当前具有三个“隐藏...

    预防XSS攻击和SQL注入XssFilter

    一、什么是XSS攻击 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如...

    XSS漏洞扫描 XSS漏洞扫描

    XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描XSS漏洞扫描

    jQuery-with-XSS 检测jQuery版本是否存在XSS漏洞

    动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS )有所区分,故称XSS)的威胁,而静态站点则完全不受...

    xss_javaxss_XSS_

    java防止xss注入解决Java出现的xss

    存储型XSS攻击向量自动化生成技术* (2012年)

    针对危害性最为严重的存储型XSS漏洞的特点及其触发方式,设计并实现了一款自动生成存储型XSS攻击向量的工具.使用该工具对中国2个大型视频分享网站的日志发布系统进行测试,发现6类导致存储型XSS漏洞的攻击向量....

    Input XSS最新漏洞及利用

    我们知道,如果要使XSS能够实现,我们的代码必须通过某种方式嵌入到对方的网页中。像注入漏洞的“’”、“and 1=1”和“and 1=2”一样,Input XSS也有自己的漏洞检测字符串,它们就是“”、“”和 “<script>alert(/...

    XSS & SQL注入

    一旦你学会了,你将需要发挥自己的创造力,因为大多数人都修补了简单的XSS漏洞.但是他们所忘记做的是修补比XSS的一个字符串更多的漏洞,并且php中特殊安全机制被用来防御XSS,而取代他们自己的方法.同时我将阐述的不仅仅...

    XSS-Codec XSS代码转换工具

    XSS代码转换工具,用于XSS代码的转换

    XSS测试代码大全————

    XSS测试代码 安全测试 XSS测试代码大全

    Springboot配置XSS过滤器XssFilter.zip

    直接可以运行,包含测试类,对HTML和SQL进行过滤,方便扩展。并且可以配置不拦截的路径,包含注释,方便学习。 博客地址:https://blog.csdn.net/u011974797/article/details/121792680

    XSS Scanner 1.0 挖掘XSS漏洞的利器

    XSS Scanner 1.0 挖掘XSS漏洞的利器

    XSS攻击实例1

    简单让你了解xss攻击。 项目基于Asp.net 框架,VS2010下创建,C#语言

    PHP Remove _xss XSS过滤函数

    PHP Remove _xss XSS过滤函数 一个比较严格的XSS过滤类

    搜索框——不能忽视的XSS漏洞—搜索框所引起的XSS漏洞

    这太让我纳闷了,于是问一个学长是怎么一回事,他说:“当然啦,你输出的内容被浏览器解释过后的样子就是这样子的了,比如说你的空格浏览器是不承认的,你要输出空格就得用nbsp; ……”这时我才反应过来:“哦,原来...

    xss测试代码大全javascript中的xss过滤

    xss测试代码大全

Global site tag (gtag.js) - Google Analytics