Twentyten и Eval
Просматривая в очередной раз логи apache наткнулся на интересную строчку.
1 |
tail -n 20 /var/log/apache2/error.log |
Часть результата:
1 |
PHP Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /var/www/html/wp-content/themes/twentyten/n29p.php(7) : eval()'d code(1) : eval()'d code(1) : eval()'d code(10) : eval()'d code on line 2 |
И что самое примечательное, что ошибки идут с одного и того же ip адреса.
Решил проверить что же у меня поменялось в течении 7 прошедших дней:
1 |
find /var/www/html -type f -mtime -7 ! -mtime -3 |
А вот и результат:
1 2 3 4 5 6 7 8 |
/var/www/html/wp-content/languages/themes/generatepress-ru_RU.mo /var/www/html/wp-content/languages/themes/generatepress-ru_RU.po /var/www/html/wp-content/themes/twentyten/languages/system_m.php /var/www/html/wp-content/themes/twentyten/languages/engine_functions.php /var/www/html/wp-content/themes/twentyten/images/headers/system_m.php /var/www/html/wp-content/themes/twentyten/images/headers/engine_functions.php /var/www/html/wp-content/themes/twentyten/footer.php /var/www/html/wp-content/themes/twentyten/defines.php |
Выяснилось, что благодаря шаблону Twentyten на сервер был залит шел.
Как показывает практика, для популярных и бесплатных шаблонов всегда найдется эксплойт, поэтому выбирая шаблон – будьте аккуратны!