OWASP 类别:MASVS-NETWORK:网络通信
概览
在 Android 应用中允许明文网络通信,意味着监控网络流量的任何人都可以查看和操纵正在传输的数据。如果传输的数据包含敏感信息(例如密码、信用卡号或其他个人信息),这就会成为一个漏洞。
无论您是否发送敏感信息,使用明文都可能成为漏洞,因为攻击者也可能通过网络投毒攻击(例如 ARP 或 DNS 投毒)来操纵明文/纯文本 HTTP 流量,因此仍有可能影响应用的行为。
影响
当 Android 应用通过网络发送或接收明文数据时,监控网络的任何人都可以拦截并读取这些数据。如果这些数据包含敏感信息(例如密码、信用卡号或个人消息),可能会导致身份窃取、金融欺诈和其他严重问题。
例如,应用如果以明文形式传输密码,可能会将这些凭据泄露给拦截流量的恶意操作者。然后,他们可能会利用这些数据,在未经授权的情况下获得用户账号的访问权限。
缓解措施
此部分中的指南仅适用于以 Android 8.1(API 级别 27)或更低版本为目标平台的应用。从 Android 9(API 级别 28)开始,系统默认情况下已停用明文支持。
使用 NetworkSecurityConfig.xml 功能来选择停用明文流量:
Xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">secure.example.com</domain>
</domain-config>
</network-security-config>
此选项有助于防止应用因外部源(如后端服务器)提供的网址发生变化而意外回归。