我们碰巧使用了 IBM appscan http://www-01.ibm.com/software/awdtools/appscan/
针对我们的 java 代码库,它返回了大约 3000 个高严重性漏洞。
它们中的大多数恰好是系统信息泄漏,当我们在 catch 块中打印堆栈跟踪时它认为正在发生这种情况,但我们只打印它正在发生的文件名和行号,使我们能够更好地调试代码。
还有一些是关于 SQL 注入、输入验证等的。
但是,我的问题是关于资源耗尽(文件描述符、磁盘空间、套接字……),它列出了所有实例java.io.BufferedReader.readLine
作为可能的外部攻击的位置。
InputStream ins=conn.getInputStream();
String inputLine;
if (!preserveLinefeeds) {
BufferedReader in = new BufferedReader(new InputStreamReader(ins));
while ((inputLine = in.readLine()) != null)
pr.readThreadResponse+=inputLine;
in.close();
ins.close();
}
conn 是一个 HttpURLConnection 对象。
如何在代码中添加安全防护以防止这种情况发生?