127.0.0.1:AppScan 代理默认绑定地址
18080:AppScan 代理默认绑定端口号
配置完端口映射工具以后,根据信息配置 iOS 端网络,使移动端应用程序数据通过发往 AppScan 代理。进入 iPhone, 选择设置 -> 无线局域网 -> 当前网络 -> 详细信息 ->HTTP 代理,配置相应的服务器和端口信息。服务器 IP 为 AppScan 所在 Server 端 IP 地址,端口为 rinetd.conf 里配置的端口信息,如下图所示:
图 2. 移动端配置
移动端和 AppScan 通过代理建立完链接以后,启动 AppScan 新建常规扫描,进入配置向导。首先选择探索站点的基本方法:外部设备 / 客户机(AppScan 作为记录代理),点击下一步。
图 3. 配置 AppScan 连接外部客户机
选择代理端口和记录位置,代理端口为 rinetd.conf 里配置的端口,记录位置选择“该机器上的外部客户机”
图 4. 配置 AppScan 代理
点击下一步,选择默认选项直到“登陆管理”页面。到达登陆管理页面以后,打开移动应用程序并进行登陆操作,AppScan 会自动记录下客户端和服务端的登陆过程以及登陆信息。由于安全性或者其他设置,AppScan 有时无法成功记录登陆信息,此时通过“完全扫描配置 -> 登陆管理”选择自动登陆,输入相应的账号信息即可解决问题。
图 5. 配置登陆管理
选择测试策略,可以导入测试策略文件,按测试策略来进行有针对想的扫描。
图 6. 配置策略文件
以上选项都已经配置完成以后,AppScan 会自动打开外部流量记录器,安全性测试人员只需要在 mobile 端手动测试即可。AppScan 会自动记录用户的流量和行为,模拟人的使用方式从而探测出实际使用中可能会产生的安全性问题。
图 7. 启动流量监控器
使用 AppScan 测试移动应用程序
配置完成以后,AppScan 作为代理会记录客户端和服务器端的交互,并基于用户行为进行安全性探测和分析。由于安全性分析是基于用户对移动应用程序的操作,因此迭代的方式更有助于保证安全性测试质量。在实践中,安全性测试人员通常先选择“探索”,然后在移动端完整的覆盖所有的页面和输入控件,AppScan 代理记录完这些流量信息以后,点击“测试”。得到一轮测试结果。通过分析这些测试结果,安全性测试人员确立下一轮测试的重点和目标,在问题高发的区域用更多的输入组合进行探索,进一步发现问题。通过不断的迭代,可以使得安全测试达到一个很高的覆盖率。
图 8. 获取迭代测试结果