-3
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);
我是新来的漏洞利用者,想知道这个漏洞利用做什么? 如何分析这些漏洞,了解这些事情的最佳途径是什么? 我知道逆向工程和装配的基本知识,但我无法弄清楚这一点。任何人都可以解释这个JavaScript的利用?
我修改了您的问题以删除“在您的浏览器中运行此漏洞”按钮,我希望您不介意。 –
Stackoverflow不是让人们解释长块代码的好地方 - 尤其是当代码被混淆时 - 您可能会尝试关于您不了解的一小部分代码的最具体问题。 – Quentin
只需用'document.write'替换'eval'就可以看到已解码的代码。 – jcubic