apache - HTTP 请求和 Apache 模块 : Creative attack vectors

标签 apache security http-request apache-modules

这里有点不正统的问题:

我目前正在尝试使用一些自定义模块来破坏 Apache。

引发测试的是 Apache 在内部将它认为太大(例如 1 MB 垃圾)的请求转发给适当连接的模块,迫使它们处理垃圾数据 - 并且自定义模块中缺乏处理导致 Apache 完全火上浇油。哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎哎。

幸运的是,该特定问题已得到解决,但问题是是否存在其他类似漏洞。

现在我有一个工具可供我使用,它可以让我向服务器发送一个原始 HTTP 请求(或者更确切地说,通过一个已建立的 TCP 连接的原始数据,如果它遵循一个形式,则可以解释为一个 HTTP 请求,例如“GET ...”)我正在尝试提出其他想法。 (像 Slowloris 和 Nkiller2 这样的 TCP 级攻击目前不是我关注的重点。)

有没有人有一些好主意如何将服务器的自定义模块混淆到服务器自焚的地步?

  • UTF-8 坏了? (虽然我怀疑 Apache 是否关心编码 - 我想它只是处理原始字节。)
  • 只是勉强太长的东西,然后是一个 0 字节,然后是垃圾?
  • 等等

  • 我不认为自己是一个非常好的测试人员(我这样做是必要的,而且缺乏人力;不幸的是,我什至没有对 Apache 内部有帮助的基本掌握),这就是为什么我我希望得到一个或两个或三个有见地的回应。也许你们中的一些人为自己的项目做了一些类似的测试?

    (如果 stackoverflow 不适合这个问题,我很抱歉。不知道该放在哪里。)

    最佳答案

    Apache 是地球上最坚固的软件项目之一。在 Apache 的 HTTPD 中找到一个漏洞可不是一件小事,我建议您在一些更容易的猎物上切齿。相比之下,其他 HTTPD 中的漏洞更为常见,例如 Nginx 中的这个漏洞。我今天看到的(不是开玩笑)。还有其他非常相似的源代码泄露漏洞,我会看看this这里是 another . lhttpd已经在 sf.net 上被遗弃了近十年,并且已知缓冲区溢出会影响它,这使它成为一个有趣的测试应用程序。

    攻击项目时,您应该查看过去发现了哪些漏洞。程序员很可能会一次又一次地犯同样的错误,并且经常会出现一些模式。通过遵循这些模式,您可以发现更多缺陷。您应该尝试搜索漏洞数据库,例如 Nist's search for CVEs .您将看到的一件事是 apache 模块最常受到攻击。

    像 Apache 这样的项目已经被严重模糊了。有一些模糊测试框架,例如 Peach . Peach 在很多方面都有助于模糊测试,它可以帮助您的一种方法是为您提供一些令人讨厌的测试数据。 Fuzzing 对于成熟的项目来说不是一个很好的方法,如果你走这条路,我会瞄准 apache modules尽可能少的下载。 (警告下载量非常低的项目可能会损坏或难以安装。)

    当一家公司担心安全性时,他们通常会花很多钱购买自动化源分析工具,例如 Coverity。国土安全部给了 Coverity 一大笔钱来测试开源项目和 Apache is one of them .我可以直接告诉你我找到了a buffer overflow与 Coverity 没有接起来的 fuzzing。 Coverity 和其他源代码分析工具,如 open source Rats会产生很多误报和漏报,但它们确实有助于缩小影响代码库的问题。

    (当我第一次在 Linux 内核上运行 RATS 时,我差点从椅子上摔下来,因为我的屏幕列出了数千个对 strcpy() 和 strcat() 的调用,但是当我深入研究代码时,所有使用静态文本的调用,这是安全的。)

    漏洞研究和利用开发是a lot of fun .我建议利用 PHP/MySQL 应用程序并探索 The Whitebox .这个项目很重要,因为它表明存在一些现实世界的漏洞,除非您手动逐行阅读代码,否则无法找到这些漏洞。它还具有非常容易受到攻击的现实世界应用程序(博客和商店)。事实上,这两个应用程序都因安全问题而被放弃。像 Wapiti 这样的 Web 应用程序模糊器或 acuentix 将强奸这些应用程序和类似的应用程序。博客有一个技巧。全新安装不会受到太多影响。您必须稍微使用一下该应用程序,尝试以管理员身份登录,创建一个博客条目,然后对其进行扫描。在测试用于 sql 注入(inject)的 Web 应用程序时,请确保打开错误报告。在php中你可以设置display_errors=On在你的 php.ini 中。

    祝你好运!

    关于apache - HTTP 请求和 Apache 模块 : Creative attack vectors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2935220/

    相关文章:

    php - 白屏后没有记录 PHP/Smarty 错误

    javascript - 嵌入式闪存安全

    java - org.owasp.esapi.Encoder.encodeForHTML 和 org.owasp.esapi.Encoder.encodeForJavaScript 方法之间有什么区别

    c++ - 发出并行的 libcurl HTTP 请求

    c# - 无法在 Image 类中找到 FromStream

    Apache 正在将文件夹重定向到同名的 .html 文件

    Apache:强制使用 404 状态代码

    php - apache 2.4 (CentOS) 和 apache 2.4 (Red Hat) 有什么区别?

    php - 禁用 header 中的安全信息

    javascript - 用于向 google map API 发出 http 请求