
OWASP Raider: a novel framework for manipulating the HTTP processes of persistent sessions

OWASP Raider 的开发目标是改进 Web 身份验证测试。如今它已经发展壮大,可用于各种有状态的 HTTP 过程。它将客户端-服务器的信息交换抽象为一个有限状态机。每一步包含一个请求(带有输入)、一个响应(带有输出)、对响应执行的任意操作,以及指向其他阶段的条件链接。由此形成了一种图状结构。Raider 允许你模拟复杂系统,同时让你能够控制进出系统的每一条数据。
Raider 定义了一种 DSL 来描述 HTTP 过程中客户端与服务器之间的信息流。过程中的每一步都由一个 Flow(流程)描述,其中包含带有输入的 Request(请求)、带有输出的 Response(响应),以及包括指向其他 Flow 的链接在内的任意操作:

将多个 Flow 链接在一起可用于模拟任何有状态的 HTTP 过程。FlowGraph(流程图)指定了起点。它们可以放置在任意 Flow 上。一个 FlowGraph 会运行链接中的所有 Flow,直到返回 Success/Failure(成功/失败)或没有更多链接为止。

Raider 的配置灵感来源于 Emacs。它使用 Hylang,这是一种基于 Python 的 LISP 方言。之所以使用 LISP,是因为其“代码即数据,数据即代码”的特性。借助 LISP 宏的魔力,自动生成配置变得轻而易举。灵活性深植于其 DNA 中,意味着它可以通过实际代码进行无限扩展。例如,你可以用它轻松地创建、存储、重现和分享 HTTP 攻击的概念验证。借助 Raider,你还可以搜索你的项目,按 hyfile、Flow、FlowGraph 等进行筛选……然后运行单步或一系列步骤,从而在任何 HTTP 过程上自动执行和运行测试。

例如,你可以用它轻松地创建、存储、重现和分享 HTTP 攻击的概念验证。借助 Raider,你还可以搜索你的项目,按 hyfile、Flow、FlowGraph 等进行筛选……然后运行单步或一系列步骤,从而在任何 HTTP 过程上自动执行和运行测试。
你还可以搜索你的项目,按 hyfile、Flow、FlowGraph 等进行筛选……然后运行单步或一系列步骤,从而自动执行和测试 HTTP 过程。