Не могу не поделиться захватывающей историей, которая произошла со мной буквально на днях:
- У нас на сайте вирусы, сначала шло перенаправление на какой-то американский сайт, потом совсем перестал работать...
Начинаем коллективное совещание с друзьями программистами. Коллективное оно только для меня, ребята друг с другом не общаются, но я прислушиваюсь к мнению и советам троих опытных людей. Возникает две противоположные идеи: переписать сайт уже вне WordPress или доразобраться с вирусом. Сканер кода показывает несколько файлов, отличающихся от первоначальных, я просматриваю их и вижу странное "eval(String(fromCharCode(..." вернее даже не так, в первом случае строка была сначала присвоена переменной, а уже потом отправлена в eval. То, что я ни разу до этого не видела код на языке php не играет абсолютно никакой роли, тк eval - и в Python, и в Ruby, и в PHP - это функция, которая выполняет строку кода, а String(fromCharCode( это в любом языке плюс-минус теми же словами перевод числа в соответствующий символ из таблицы UNICODE.
- Илья, посмотри, пожалуйста, это ведь как раз то, что я ищу? Он что-то собирает в строку и потом эвалит её.
- Может быть :) Тебе нужно расшифровать строку.
- Этим и занимаюсь, уже ищу онлайн интерпретатор php...
Я первый раз видела программный код, рекурсивно закодированный в несколько обёрток, и мне очень понравилось, если честно. Разновидностей злокода было несколько, как минимум пять, если я всё запомнила. Код прятался в php файлах и в строках sql-таблиц. Я первый раз удалённо подключалась к серверу, потом к базе данных, первый раз вычищала вредоносный код из проекта. Я почувствовала себя немножечко кибергероем, но больше, конечно, я ощущала как же мне всё-таки повезло с друзьями-кибергероями :)
И да, я освободилась и вновь принимаю заказы на костюмы ))))))
