当系统数据或调试信息通过输出流或者日志功能流出程序时,就会发生信息泄漏。
原理、风险及预防
揭示系统数据或调试信息有助于攻击者了解系统并制定攻击计划。
示例
修复建议:编写错误消息时,始终要牢记安全性。在编码的过程中,尽量避免使用繁复的消
息,提倡使用简短的错误消息。限制生成与存储繁复的输出数据将有助于管理员和程序员
诊断问题的所在。此外,还要留意有关调试的跟踪信息,有时它可能出现在不明显的位置
(例如嵌入在错误页 HTML 代码的注释行中)。
即便是并未揭示栈踪迹或数据库转储的简短错误消息,也有可能帮助攻击者发起攻击。例
如,“Access Denied”(拒绝访问)消息可以揭示系统中存在一个文件或用户。
如果您担心 Android 设备上的系统数据会通过 NFC 泄露,那么您可以采取以下三种措施
之一。不把系统数据包括在发送到范围内其他设备的消息中,或加密消息负载,或在更高
层中建立安全通信通道。
正例:
try {
...
} catch (Exception e) {
log.error(e.getMessage());
}
反例:
向别人输出了你的堆栈信息。
e.printStackTrace();
垃圾公司,我已经跑路了
Sign in to make a reply
求女票上微博
当系统数据或调试信息通过输出流或者日志功能流出程序时,就会发生信息泄漏。
原理、风险及预防
揭示系统数据或调试信息有助于攻击者了解系统并制定攻击计划。
示例
修复建议:编写错误消息时,始终要牢记安全性。在编码的过程中,尽量避免使用繁复的消
息,提倡使用简短的错误消息。限制生成与存储繁复的输出数据将有助于管理员和程序员
诊断问题的所在。此外,还要留意有关调试的跟踪信息,有时它可能出现在不明显的位置
(例如嵌入在错误页 HTML 代码的注释行中)。
即便是并未揭示栈踪迹或数据库转储的简短错误消息,也有可能帮助攻击者发起攻击。例
如,“Access Denied”(拒绝访问)消息可以揭示系统中存在一个文件或用户。
如果您担心 Android 设备上的系统数据会通过 NFC 泄露,那么您可以采取以下三种措施
之一。不把系统数据包括在发送到范围内其他设备的消息中,或加密消息负载,或在更高
层中建立安全通信通道。
正例:
try {
...
} catch (Exception e) {
log.error(e.getMessage());
}
反例:
向别人输出了你的堆栈信息。
try {
...
} catch (Exception e) {
e.printStackTrace();
}