0

如何防止空字节注入?见:https ://security.stackexchange.com/q/378

如果请求参数将用作文件名,我们是否应该查看请求参数的每个字节并检查其“字节”值是否为 0 ?

4

1 回答 1

0

您有 3 个选择:

1扫描 Java 字符串(首先将其转换为 char 数组)以查找空字节。

2 清理用户输入(即检查'%00' - 它是一个URL 编码的空字节。)。但要小心!黑客使用不同的编码,所以#1 更安全!

3 升级到 Java 8 或 Java 7u40,您将受到保护。(是的,我测试过!,它有效!)

1013 年 5 月,Oracle 修复了该问题:http ://bugs.java.com/bugdatabase/view_bug.do?bug_id=8014846

于 2015-03-21T20:55:45.813 回答