Java应用程序中的空字节注入检查或什么是空字节
如何防止空字节注入? 见: 如果请求参数将用作文件名,我们是否应该查看请求参数的每个字节并检查其“byte”值是否为0 您有3种选择: 1扫描Java字符串(首先将其转换为字符数组)以查找空字节。 2清理用户输入(即检查“%00”-它是URL编码的空字节。)。但要当心!黑客使用不同的编码,因此#1更安全 3升级到Java 8或Java 7u40,您将受到保护。(是的,我测试过了!它很有效!)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解决了这个问题:可能重复的问题,以便更清楚地回答这个问题:永远不要信任
2013年5月10日,Oracle解决了这个问题:可能重复的问题,以便更清楚地回答这个问题:永远不要信任客户。是的,您应该验证用户输入,包括文件名。正则表达式可以帮你解决这个问题。看来你是对的。您必须检查每个字节的值,并拒绝任何包含X'00'的输入。@GilbertLeBlanc X'00'可能,GilbertLeBlanc的意思是零位本身-这只是一个“零”。