【问题标题】:HTTP response splittingHTTP 响应拆分
【发布时间】:2008-10-03 12:26:33
【问题描述】:

我正在尝试处理这种可能的漏洞,并想知道最好的方法是什么?我应该使用 apache 的 common-validator 并创建一个已知允许符号列表并使用它吗?

【问题讨论】:

    标签: validation response split


    【解决方案1】:

    来自wikipedia article

    一般的解决方案是在包含到 HTTP 标头(例如 Location 或 Set-Cookie)之前对字符串进行 URL 编码。

    清理的典型示例包括强制转换为整数或积极的正则表达式替换。值得注意的是,虽然这不是 PHP 特有的问题,但 PHP 解释器从 4.4.2 和 5.1.2 版本开始包含针对这种攻击的保护。

    编辑

    我喜欢将 jsp 与 java 操作一起使用!

    似乎没有针对此攻击向量的任何基于 JSP 的保护 - 网络上的许多描述假定为 asp 或 php,但this link 描述了一种相当平台中立的方法来解决问题(jsp 用作附带的例子)。

    基本上,您的第一步是识别潜在危险字符(CR、LF 等),然后将其删除。恐怕这是您所希望的最强大的解决方案!

    解决方案

    验证输入。在将数据嵌入任何 HTTP 响应标头之前删除 CR 和 LF(以及所有其他危险字符),尤其是在设置 cookie 和重定向时。可以使用第三方产品来防御 CR/LF 注入,并在应用程序部署之前测试此类安全漏洞的存在。

    【讨论】:

    • >> 删除 CR 和 LF(以及所有其他危险字符)
    【解决方案2】:

    Use PHP? ;)

    根据 Wikipedia 和 PHP CHANGELOG,PHP 从 4.4.2 开始在 PHP4 和从 5.1.2 开始的 PHP5 中都有针对它的保护。


    只是略读了一遍——但是,this might help。他的示例是用 JSP 编写的。

    【讨论】:

      【解决方案3】:

      好的,在读取字符串时,很好地转换为 int 并没有多大用处,在从浏览器接收输入的每个操作中也使用正则表达式可能会很混乱,我正在寻找更强大的解决方案

      【讨论】:

        猜你喜欢
        • 2015-05-05
        • 1970-01-01
        • 1970-01-01
        • 2013-05-02
        • 2015-09-16
        • 2016-02-01
        • 2015-09-27
        • 1970-01-01
        • 2019-03-06
        相关资源
        最近更新 更多