首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助解码跨站点脚本javascript攻击

需要帮助解码跨站点脚本javascript攻击
EN

Stack Overflow用户
提问于 2021-03-06 05:09:27
回答 2查看 104关注 0票数 2

有人在Twitter上发布了Imperva Web应用程序防火墙的跨站点脚本旁路(不确定是否可以在此处链接)。如下所示:

代码语言:javascript
复制
<a/href="j%0A%0Davascript:{var{3:s,2:h,5:a,0:v,4:n,1:e}='earltv'}[self][0][v+a+e+s](e+s+v+h+n)(/infected/.source)" />click

%0A%0解码为新行。创建到给定URI的可点击链接。但是所有的3:s和v+a+e等等我都完全不懂。我尝试过在反射、存储和DOM XSS中使用它,并得到了混合结果。事实上,在某些情况下,Imperva WAF检测不到它,但在某些情况下,它是检测到的,在许多情况下,它根本不会导致可点击的链接。现在的问题是我不能完全理解javascript代码。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2021-03-06 05:23:45

你说得对,%0A%0D解码成了一个新的行!这就是:javascript:{var{3:s,2:h,5:a,0:v,4:n,1:e}='earltv'}[self][0][v+a+e+s](e+s+v+h+n)(/infected/.source)

现在让我们来分析一下。

var{3:s,2:h,5:a,0:v,4:n,1:e}='earltv'

这表示字符串'earltv'的第三个索引将是s,第二个索引将是h,第五个索引将是a,依此类推。

[self][0]

这本质上除了引用它自己什么也不做。

[v+a+e+s]

现在是解码开始的地方。

V实际上是e(字符串的索引为0)

A实际上是v(字符串的索引5)

等。

然后解码成eval

类似地,(e+s+v+h+n)解码为alert。

因此,我们有:

eval(alert)(/infected/.source)

/infected/是一个正则表达式,而.source引用的是它的源,也就是字符串"infected"

现在,这相当于:

eval (alert) ("infected")

eval (alert)本质上返回警报的本机代码,因此这只是alert

alert("infected")

现在它很简单-它只是提醒“被感染”,这就是实际发生的事情!

票数 5
EN

Stack Overflow用户

发布于 2021-03-06 05:32:43

除了另一个答案之外,这里还有一个简化的工作演示,展示了它的功能。

编辑:一些额外的解释

如果我们将[0]附加到一个字符串上:

代码语言:javascript
复制
let first_letter = "Hey!"[0]; //returns "H"

这意味着当请求对字符串进行数组操作时,该字符串将被“转换”为数组:

因此它等于:

代码语言:javascript
复制
let first_letter = ["H","e","y","!"][0]

现在,如果你有一个对象,你可以用数组来填充它:

代码语言:javascript
复制
let obj = {0:h,1:e,2:y,3:I} = ["H","e","y","!"];

最后,您可以将其与析构相结合:

代码语言:javascript
复制
letters = ["H","e","y","!"];
    
({0:h,1:e,2:y,3:I} = letters)
    
console.log(h,e,y,I); //returns "H" "e" "y" "!"

坦率地说,非常简单和酷:)

原始代码段:

代码语言:javascript
复制
    var {
        3: s,
        2: h,
        5: a,
        0: v,
        4: n,
        1: e
    } = 'earltv'


console.log(v + a + e + s , e + s + v + h + n, (/infected/.source));

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66499658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档