这里有一个稍微不太传统的问题:
我目前正在尝试使用一些自定义模块来攻击 Apache。
引发测试的原因是,Apache 会将它认为太大(例如 1 MB 的垃圾数据)的请求内部转发给适当挂钩的模块,强制让它们处理垃圾数据;由于自定义模块中缺乏对其进行处理,导致整个 Apache 系统崩溃。哎呀,疼疼疼。
虽然那个具体问题已经被解决了,但问题出现了:是否存在其他类似的漏洞。
现在,我手头有一款工具,可以向服务器发送原始 HTTP 请求(或者更确切地说,通过已建立的 TCP 连接发送原始数据,如果符合 HTTP 请求的格式,就会被解释成 HTTP 请求,例如 "GET ..."),我正在努力想出其他点子。(TCP 层攻击,例如 Slowloris 和 Nkiller2,目前不是我的重点。)
是否有人有一些好的点子,可以将服务器的自定义模块搞得晕头转向,直到自行引爆?
- 破损的 UTF-8?(虽然我怀疑 Apache 关心编码,我想它只是处理原始字节。)
- 一些几乎太长的东西,紧随其后的是 0 字节,然后跟着垃圾数据?
- 等等
我认为自己不是一个很好的测试人员(我之所以这样做,是因为需要以及缺乏人手;不幸的是,我对于可以帮助我进行测试的 Apache 内部机制的理解只停留在基本层面),这就是我希望能获得深入见解的原因。也许你们中的一些人已经为自己的项目做过类似的测试?
(如果 stackoverflow 不适合这个问题,请谅解。我不确定还有哪里可以发布这个问题。)