使用了x-check扫描代码。扫描出了 CRLF漏洞、路径穿越、任意文件读写的漏洞
CRLF漏洞:
场景:java controller传入一个参数ID,通过ID获取到数据库中的文件路径,进行下载,下载后端在请求头指定下载名称。x-check指出名称处存在CRLF漏洞。
原有解决方案(还是未通过扫描):按照建议方案对文件名称进行 \r\f 替换!
最终解决方案(欺骗):从ServletRequestAttributes获取参数ID,对ID进行替换/r/n。
文件路径穿越也是同理。
任意文件删除更是离谱,这应该怎么解决?
程序中有个生成临时文件的代码
//start
File file = FileUtil.createTempFile(SnowFlakeBuild.generateSixtyBinaryId(), ".txt", stream);
....
file.delete() //此行报任意文件删除漏洞
//end
相似问题