不安全数据存储漏洞 是指应用程序在本地存储敏感数据(如用户名、密码、Token、个人隐私信息、加密密钥等)时,未采取安全的保护措施,导致数据可能被未经授权的人员获取、分析或篡改。
常见于:
| 攻击方式 | 描述 |
|---|---|
| 本地文件读取 | 攻击者读取应用的配置文件、数据库、缓存文件获取敏感信息。 |
| 逆向工程与提取 | 反编译应用或分析固件,提取硬编码密钥或凭据。 |
| 日志分析 | 从日志文件中提取口令、会话令牌等信息。 |
| 越权访问 | 利用错误的文件权限访问敏感数据。 |
| 物理攻击 | 从设备存储芯片中直接提取数据(IoT、移动端)。 |
SharedPreferences 或 SQLite 数据库中明文保存会话令牌,被 Root 用户或恶意应用读取。.env、config.php 可被直接下载,暴露数据库密码。账户与凭据泄露
攻击者可直接登录系统或调用 API。
数据隐私泄露
用户个人信息、财务信息被曝光。
进一步入侵与横向移动
使用泄露的凭据攻击其他系统(凭据填充攻击)。
业务破坏与伪造
修改本地存储的配置或数据,绕过验证、制造假数据。
代码审计
检查敏感数据的存储与加密实现。
文件系统扫描
搜索明文凭据、配置文件、密钥等。
移动应用安全测试
使用 adb、越狱/Root 工具访问应用数据目录分析存储情况。
固件分析
对 IoT 固件进行解包与静态分析。
不安全数据存储漏洞往往源于开发人员为方便实现而忽视安全要求。
安全设计应遵循 “不存储则最安全,必须存储则必须加密” 的原则,并配合安全的密钥管理、访问控制、数据清理机制,以减少数据泄露风险。