Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java应用程序中的空字节注入检查或什么是空字节_Java_Security_Xss - Fatal编程技术网

Java应用程序中的空字节注入检查或什么是空字节

Java应用程序中的空字节注入检查或什么是空字节,java,security,xss,Java,Security,Xss,如何防止空字节注入? 见: 如果请求参数将用作文件名,我们是否应该查看请求参数的每个字节并检查其“byte”值是否为0 您有3种选择: 1扫描Java字符串(首先将其转换为字符数组)以查找空字节。 2清理用户输入(即检查“%00”-它是URL编码的空字节。)。但要当心!黑客使用不同的编码,因此#1更安全 3升级到Java 8或Java 7u40,您将受到保护。(是的,我测试过了!它很有效!) 2013年5月10日,Oracle解决了这个问题:可能重复的问题,以便更清楚地回答这个问题:永远不要信任

如何防止空字节注入? 见:

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

您有3种选择:

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

2清理用户输入(即检查“%00”-它是URL编码的空字节。)。但要当心!黑客使用不同的编码,因此#1更安全

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


2013年5月10日,Oracle解决了这个问题:

可能重复的问题,以便更清楚地回答这个问题:永远不要信任客户。是的,您应该验证用户输入,包括文件名。正则表达式可以帮你解决这个问题。看来你是对的。您必须检查每个字节的值,并拒绝任何包含X'00'的输入。@GilbertLeBlanc X'00'可能,GilbertLeBlanc的意思是零位本身-这只是一个“零”。