• XSS.stack #1 – первый литературный журнал от юзеров форума

Obfuscator PHP

binrs

(L3) cache
Забанен
Регистрация
29.03.2021
Сообщения
197
Реакции
401
Гарант сделки
3
Депозит
0.3161 Ł
Пожалуйста, обратите внимание, что пользователь заблокирован

Тестил на своем файле редиректа

В основное окно вставляем наш код на пхп
Далее выбираем уровень обусфакции

bEfMHFN.jpg


Выбрали к примеру сильный
Жмем Obfuscate

На выходе получаем зашифрованный код, копируем, вставляем код в новый файл

LdXFagN.jpg

Примечание: вторую строку можно удалить "//"
 
Этот обфускатор очень "не очень".

Проблема в том, что для выполения в функции eval все равно надо код деобфусцировать. Получается сам обфускатор дает нам инструкцию по дешифровке этого кода. И это можем использовать.

Давайте попробуем:

1.png



Ставим уровень Strong, потому что не ищем легких путей
Получаем такой результат:
2.png



Давайте поиграемся:

PHP:
<?php
// Obfuscate In php-obfuscator.22xploitercrew.my.id
$obfuscator = "s9ZE\x41qkp\x2b\x634qGmWpRUUlxRp\x41TnJqSryJWWpxYpJG\x61kliTlpeZlU6\x62nE4q7g4t\x61ggNz85rxSdg0MNXFh\x42T10tv\x63T\x61Xl0jJ7EsFQ\x41\x3d";
$Code = "\x3d\x41Q\x420eHS13\x63TIwyrS3I\x6338i01Pj\x43zU39q0q8LlsLKtqzzsEKPHD\x632vyNU70SNVvSwT\x62NrgyjwMPStgs908K13\x42DL3GjdJEv\x63s86zVjgDL\x42nj1DXL27k8LfDTP\x61N0K\x63jSOQzi";

// Запускаем, смотрим, удачно ли все обфусцировалось?
eval(strrev(htmlspecialchars_decode(gzinflate(base64_decode($obfuscator)))));
?>

Да, действительно все работает.

А теперь сделаем так:

PHP:
// Смотрим что улетает в eval
$a = strrev(htmlspecialchars_decode(gzinflate(base64_decode($obfuscator))));
var_dump($a);

Видим строку:
PHP:
eval(gzinflate(gzuncompress(gzinflate(gzuncompress(gzuncompress(gzinflate(gzinflate(base64_decode(gzinflate(base64_decode(strrev($Code))))))))))));

Ага, еще один eval. Но мы знаем как с ним сражаться.
Повторим

PHP:
<?php
$b = gzinflate(gzuncompress(gzinflate(gzuncompress(gzuncompress(gzinflate(gzinflate(base64_decode(gzinflate(base64_decode(strrev($Code)))))))))));
// И получаем чистый код.
?>

<textarea style="width: 50rem; height: 10rem;"><?php echo $b; ?></textarea>

3.png


Всего одна минута и обфускация пала.

Весь код целиком:

PHP:
<?php
// Obfuscate In php-obfuscator.22xploitercrew.my.id
$obfuscator = "s9ZE\x41qkp\x2b\x634qGmWpRUUlxRp\x41TnJqSryJWWpxYpJG\x61kliTlpeZlU6\x62nE4q7g4t\x61ggNz85rxSdg0MNXFh\x42T10tv\x63T\x61Xl0jJ7EsFQ\x41\x3d";
$Code = "\x3d\x41Q\x420eHS13\x63TIwyrS3I\x6338i01Pj\x43zU39q0q8LlsLKtqzzsEKPHD\x632vyNU70SNVvSwT\x62NrgyjwMPStgs908K13\x42DL3GjdJEv\x63s86zVjgDL\x42nj1DXL27k8LfDTP\x61N0K\x63jSOQzi";

// Запускаем, смотрим, удачно ли все обфусцировалось?
eval(strrev(htmlspecialchars_decode(gzinflate(base64_decode($obfuscator)))));


// Пробуем декодировать

// Смотрим что улетает в eval
$a = strrev(htmlspecialchars_decode(gzinflate(base64_decode($obfuscator))));
var_dump($a);
// ага, там вот такая строка
// eval(gzinflate(gzuncompress(gzinflate(gzuncompress(gzuncompress(gzinflate(gzinflate(base64_decode(gzinflate(base64_decode(strrev($Code))))))))))));
// Еще один eval. Делаем тот же трюк


$b = gzinflate(gzuncompress(gzinflate(gzuncompress(gzuncompress(gzinflate(gzinflate(base64_decode(gzinflate(base64_decode(strrev($Code)))))))))));
// И получаем чистый код.
?>

<textarea style="width: 50rem; height: 10rem;"><?php echo $b; ?></textarea>
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх