Деобфускация странного php кода?

Доброе время суток. Случайно заметил на сервере в шаблоне WordPress папку, которой не было. Оказалось что это эксплоит или что то вроде... в общем я сам получил свободно доступ к серверу... Но понять что делает этот код и как он работает, я не смог, т.к. он зашифрован непонятно чем. Просьба помочь определить и помочь расшифровать данный кусок кода. Но проблема, он на ~19000 символов, а тут ограничение в 10000, так что я его загрузил на файлообменный хостинг.

Скачать
  • Вопрос задан
  • 10424 просмотра
Решения вопроса 1
Деобфусцировать можно тут: phpdecoder

Что это: WSO Version 2.5 (веб-шелл)

Описание:
- Авторизация
- Информация о сервере
- Файловый менеджер (Копирование, переименование, перемещение, удаление, чмод, тач, создание файлов и папок)
- Просмотр, hexview, редактирование, давнлоад, аплоад файлов
- Работа с zip архивами (упаковка, распаковка)
- Консоль
- SQL менеджер (MySql, PostgreSql)
- Выполнение PHP кода
- Работа со строками + поиск хеша в онлайн базах
- Биндпорт и бек-коннект (Perl)
- Поиск текста в файлах
- *nix/Windows
Из фишек
- Антипоисковик (проверяется User-Agent, если поисковик, тогда возвращается 404 ошибка)
- Консолька запоминает введенные команды. (перемещаться по ним можно с помощью стрелок вверх, вниз при фокусе на поле для ввода)
- Можно использовать AJAX
- Малый вес (22.8 KB)
- Выбор кодировки, в которой работает шелл.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Да ничем он не зашифрован.
- вырезаете второй аргумент preg_replace, который длинная hex строка, скармливаете его echo
- видите банальнейший eval, заменяете его на echo, ещё раз выполняете и видите исходный скрипт
Всё.
Ответ написан
Комментировать
тут все просто -
preg_replace("/.*/e", ...
модификатор "e" означает что строку нужно выполнить. Убираем его и подставляем в начало echo
echo preg_replace("/.*/", ...

Получаем строку
eval(gzinflate(base64_decode('7X1...
И снова выводим то что нам нужно (eval в той строке 2 раза встречается)
echo (gzinflate(base64_decode('7X1...
Вот и исходный код в более понятном варианте (смотреть с отключенным JS в браузере).

pastebin.com/2GiCK2PY
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы