-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?

+1

Я отредактировал ваш вопрос, чтобы удалить кнопку «Запустить этот эксплойт в браузере», надеюсь, вы не против. –

+2

Stackoverflow не является хорошим местом, чтобы попросить людей объяснить длинные фрагменты кода, особенно когда этот код запутан - вы можете попробовать конкретный вопрос о какой-то небольшой части кода, который вы не понимаете. – Quentin

+1

Просто замените 'eval' на' document.write', вы увидите декодированный код. – jcubic

ответ

1

Он выполняет следующие действия:

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

Узел - хороший инструмент для оценки небезопасного браузера Javascript, если вы замените некоторые вещи (например, atob) на домашние эквиваленты.

 Смежные вопросы

  • Нет связанных вопросов^_^