Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

PHPenetration

Zadoxlik (antichat.ru)

Хакер, номер #090, стр. 090-072-8


Ко всему вышесказанному

Не забывай, что параметры могут быть переданы скрипту при помощи 4-х способов: GET, POST, COOKIE, SESSION. Первые три из них пользователь формирует сам. Информация сессии хранится на сервере и не может быть модифицирована пользователем, в то время как куки ты можешь спокойно изменять.

Прелесть тут в том, что многие web-программисты почему-то относятся к кукисам, как к чему-то такому, что проверять надо менее строго, чем POST и GET (ну вроде того, что последние два можно задавать прямо в строке браузера или в формочке на сайте, а куки еще и «хрен знает, как ты подделаешь»), поэтому очень часто уязвимости можно встретить именно в параметрах, передаваемых куками. Это могут быть как XSS, SQL-injection, так и PHP-injection. Я рекомендую для поиска уязвимостей PHP-injection писать программку, которая бы сканировала все файлы движка и вынимала из них всяческие подозрительные вещи, например все то, что описано в статье. Все eval, строки регулярных выражений с модификатором «e», не говоря уже о include, require. Анализируется подобный материал потом достаточно быстро и просто. Пример такой программки опять же лежит на диске. На этой веселой ноте я ухожу за кулисы. А ты даже и не думай все это проделывать на практике: закон бдит!

WARNING

Не вздумай проделывать наши опыты на практике!

CD

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

INFO

Вместо функции include в скрипте могут фигурировать схожие include_once, require, require_once, которые также могут быть задействованы в описанных уязвимостях.

WARNING

Внедрение кода, расположенного на внешнем сервере, может быть произведено только при соответствующей конфигурации PHP.

Назад на стр. 090-072-7  Содержание