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

有帮助吗?

解决方案

来自维基百科文章

  

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

     

清理的典型示例包括转换为整数或积极的正则表达式替换。值得注意的是,尽管这不是PHP特定的问题,但PHP解释器包含自版本4.4.2和5.1.2以来针对此攻击的保护。

修改

  

我喜欢使用jsp的java动作!

似乎没有针对此攻击媒介的任何基于JSP的保护 - 网络上的许多描述都假定为asp或php,但这个链接描述了一种解决问题的平台中立方式(jsp用作其中的附带示例)。

基本上,您的第一步是识别潜在的危险字符(CR,LF等),然后将其删除。我担心这个问题就像你希望的那样强大!

  

<强>解决方案

     

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

其他提示

使用PHP ? ;)

根据维基百科和PHP CHANGELOG的说法,自4.4.2以来,PHP在PHP4中得到了保护,自5.1.2以来就是PHP5。


只是浏览它 - 但是,这可能有所帮助。他的例子是用JSP编写的。

好吧,在读取字符串时,使用正则表达式并没有太多用处,在每个从浏览器收到输入的操作中使用正则表达式都可能很麻烦,我正在寻找更强大的解决方案

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top