1. 问题说明

在 IOS 基础项的检测中,需要检查客户端是否在密钥链 (Keychain) 中存放明文密码,如果使用信息明文存储就可能造成敏感信息泄露。

2. 测试步骤

2.1 远连 IOS 设备

这里我使用 MobaXterm 远程 SSH 连接 IOS 设备。
密钥链数据 - 图1

2.2 导入 KeyChain_dump 文件

下载 KeyChain_dump 文件,之后将 Keychain_dump 文件拷贝的 /bin 目录下,下面给出 KeyChain_dump 文件下载地址。

链接: https://pan.baidu.com/s/1j1525deQQPtfrqi_qhQMfg 密码: 3hh9

  1. cd /bin

密钥链数据 - 图2

2.3 赋予文件权限

查看 KeyChain_dump,是否有可执行权限。

  1. ls -l


密钥链数据 - 图3

如果没有可执行权限,则需要赋予该文件权限。

  1. chmod +x keychain_dumper


密钥链数据 - 图4

2.4 查看 Keychain 数据库权限

进入查看 Keychain 数据库权限,是否可读。

  1. cd /private/var/Keychains


密钥链数据 - 图5

如果没有可读权限则赋予可读权限(chmod +r 文件)

  1. chmod +r keychain-2.db


密钥链数据 - 图6

2.5 导出 KeyChain

把 KeyChain 导出到 txt 文件中。

  1. /bin/keychain_dumper > keychain-export.txt


密钥链数据 - 图7

2.6 下载到本地查看

将刚才的文件下载到本地进行敏感信息查询。
密钥链数据 - 图8

3. 修复建议

在 Keychain 中存放数据时进行加密。