
OWASP Raider: новый фреймворк для манипулирования HTTP-процессами постоянных сессий

OWASP Raider был разработан с целью улучшить тестирование веб-аутентификации. Со временем он развился и теперь может использоваться для любых HTTP-процессов с состоянием. Он описывает обмен информацией между клиентом и сервером как конечный автомат. Каждый шаг включает один запрос с входными данными, один ответ с выходными данными, произвольные действия над ответом и условные ссылки на другие стадии. Таким образом создаётся графоподобная структура. Raider позволяет моделировать сложные системы, позволяя вам контролировать каждый фрагмент данных, поступающих в систему и выходящих из неё.
Raider определяет DSL для описания потока информации между клиентом и сервером для HTTP-процессов. Каждый шаг процесса описывается Flow, который содержит Request с входными данными, Response с выходными данными и произвольные действия, включая ссылки на другие Flows:

Объединение нескольких Flows в цепочку позволяет моделировать любой HTTP-процесс с состоянием. FlowGraphs указывают начальную точку. Их можно размещать на любом Flow. FlowGraph выполняет все Flows в цепочке, пока не будет возвращено Success/Failure или пока не останется ссылок.

Конфигурация Raider вдохновлена Emacs. Используется Hylang — это LISP поверх Python. LISP выбран из-за его свойства «Код — это данные, данные — это код». Благодаря магии макросов LISP автоматическая генерация конфигурации становится простой. Гибкость у него в ДНК, а это значит, что его можно бесконечно расширять реальным кодом. Например, вы можете легко создавать, хранить, воспроизводить и делиться proof-of-concept для HTTP-атак. С помощью Raider вы также можете искать по своим Projects, фильтровать по hyfile, Flows, FlowGraphs и т. д. Затем вы запускаете либо один шаг, либо цепочку шагов, чтобы автоматизировать и выполнять тесты для любого HTTP-процесса.

Например, вы можете легко создавать, хранить, воспроизводить и делиться proof-of-concept для HTTP-атак. С помощью Raider вы также можете искать по своим Projects, фильтровать по hyfile, Flows, FlowGraphs и т. д. Затем вы запускаете либо один шаг, либо цепочку шагов, чтобы автоматизировать и выполнять тесты для любого HTTP-процесса.
Вы также можете искать по своим Projects, фильтровать по hyfile, Flows, FlowGraphs и т. д. Затем вы запускаете либо один шаг, либо цепочку шагов, чтобы автоматизировать и выполнять тесты HTTP-процесса.