Pull to refresh
26
0
Григорий Земсков @mnemonic

Продуктовый дизайнер

Send message
Не банальный create_function(). Смотрите habrahabr.ru/post/215139/, я перечислил как минимум
1. eval
2. create_function
3. косвенный вызов функций вида $a($b)
4. assert
5. preg_replace с модификатором «e»
6. вызов через функции, принимающие callable (хэндлеры, работа с массивами и т.п.)

Причем для тех, кто занимается поиском вредоносного кода на сайте очевидно, что конструкции №3 и №6 наиболее сложно найти, так как они характерны для нормальных скриптов. А вот eval, assert, preg_replace(/.*/e) ищутся очень быстро. Если хакер не школьник и не лентяй, он все-таки код свой банальным eval'ом не будет «палить».

Да и потом, какой смысл наворачивать сложную логику подготовки кода для выполнения, если в конце концов обычная замена eval на echo распечатывает результирующий исходный код, который легко проанализировать.
Все бы ничего, но код легко «палится» любым сканером и ищется «ручками» из-за банального eval(). А анализ того, что будет выполнено, делается простой заменой eval на echo.
Сейчас функции запрещают в настройках suhosin (настройки suhosin.executor.func.blacklist, suhosin.executor.eval.blacklist), можно даже мофификатор /e запретить (http://www.hardened-php.net/suhosin/configuration.html#suhosin.executor.disable_emodifier). Ну либо отключать функции через disable_functions в php.ini, лишь бы доступ к нему был на хостинге.
Нет, перечислить все варианты, как можно неявно вызвать код. Половина примеров не имеет отношения к callable.
При сканировании нужно использовать whitelist — файл для конкретной CMS, он убирает большинство ложных срабатываний.
Можно их в купе с AI-BOLIT'ом использовать (http://revisium.com/ai/).
О, больше 2 000 000 скачек? Поздравляю, Андрей!

(кстати, я музыку к этой игре написал :-)
Попробуйте скрипт айболит revisium.com/ai/, он ищет шеллы, дорвеи и вирусы. В том числе и в javascript.
Я раньше тоже руками искал вредоносное ПО, потом мне надоело и я написал php скрипт. Вот тут можно качнуть revisium.com/ai/
А чтобы найти заразу, можно воспользоваться вот этим бесплатным скриптом: revisium.com/ai/
Я уже больше месяца активно пользуюсь enum авторизацией. Да, она неудобна, да, она требует внимания (особенно, когда заполняется форма для получения кода оплаты), но она надежнее просто блокировки по IP или хранения ключей на сменном носителе (потому что в случае кипер классика достаточно украть файл <ваш WMID>.init + пароль от кипера, который кеширует весь environment и ключи не понадобятся). Так что я как в анекдоте «мыши кололись, плакали, но продолжали жрать кактус»
Абсолютно разумное замечание — много не хранить на счету. Но это совет для тех, кто просто оплачивает покупки на ozon.ru или получает $100 за написание статей. А если вы занимаетесь серьезным бизнесом в сети (например, продаете программное обеспечение, в моем случае это sale.qpl.ru/, получаете доход от рекламы и т.п.), где оборот большой, то на счет приходят значительные суммы, которые сразу снимать ни к чему, поскольку часть из них используется для расчета с субподрядчиками, оплаты различных сервисов и пр. Суммы в этом случае намного превышают 150 WMZ. Так что здесь единственный вариант — «укреплять линию защиты» ))
Да, теперь я работаю с отдельного ноута. Поставил туда Dr. Web, ключи загрузил в Enum Storage, поставил на все операции Enum авторизацию. Хотя, уверен, и это на 100% не гарантирует неуязвимость кипера. Увы, исторически сложилось так, что я работаю с Кипер Классиком, есть лайт, но большинство кошельков «забито» в различных системах именно со старого «классика».
У меня в апреле увели несколько тысяч баксов. В связи с этим написал статью, чтобы на мои грабли не наступали www.greg.su/2010/05/ulybaemsya-i-mashemili-kak-u-menya-ukrali-dengi-s-webmoney/
Месяц назад увели большую сумму с Webmoney, написал статью о том, как снизить риск взлома и кражи электронных денег www.greg.su/2010/05/ulybaemsya-i-mashemili-kak-u-menya-ukrali-dengi-s-webmoney/.
Поспешил… простите за косноязычие. Жаль, в хабре нет возможности редактировать свой ответ.
Поделюсь своим опытом ведения семейным бюджетом в Excel за 2009 год www.greg.su/2010/01/opyt-ucheta-semejjnogo-byudzheta-za-2009-god/. Мне кажется, лучшего продукта для домашней бухгалтерии сложно найти. И всегда с собой.
Опечатался про «заключение» :)

Подготовка к защите диссера по трудозатратам примерно равна трем годам написания диссера. Человек, который кормит семью, не всегда может позволить себе посвятить науке много времени.
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity