PHP: как декодировать eval()?

Я только сегодня заметил, что у меня много спам-ссылок в моем блоге WordPress. Я только что нашел файл, который содержит

<?php eval (chr(101).chr(114)...

Это очень-очень длинная строка. Может кто-нибудь сказать мне, как я могу расшифровать это, чтобы увидеть, что он делает? Чтобы я мог попытаться удалить спам-ссылки? Спасибо.


person user1355300    schedule 04.06.2012    source источник


Ответы (3)


Просто замените eval на echo и посмотрите на сгенерированный вывод.

<?php echo (chr(101).chr(114)...
person Sirko    schedule 04.06.2012

Вместо выполнения (eval) вы можете просто повторить то, что он говорит, предпочтительно с помощью htmlspecialchars, если вы выполняете его через браузер:

<?php echo htmlspecialchars(chr(101)...

есть вероятность, что вы не увидите ничего понятного, поскольку оно, вероятно, закодировано более чем одним способом.

person eis    schedule 04.06.2012

Просто замените eval на echo:

<?php echo (chr(101).chr(114)...

Кроме того, вам, скорее всего, потребуется переустановить все, что у вас есть в вашем веб-пространстве, поскольку вас, очевидно, взломали. Убедитесь, что вы используете самую последнюю версию Wordpress и все другое программное обеспечение, которое вы используете, чтобы предотвратить повторение этого.

person ThiefMaster    schedule 04.06.2012