如何测试移动应用程序
移动应用程序正以快速的速度增长,开发人员和安全团队无法确保它们的安全。有很多关于保护移动设备和客户端的通信正在进行。但是移动应用程序后端服务最脆弱的方面却被开发人员和安全团队忽略了。
这些后端服务通常是使用JSON、XML或AMF技术的RESTful api。这些服务在高层次上类似于web应用程序,并且容易受到常见web应用程序漏洞的攻击,如SQL注入、XSS等。
要找到这个漏洞需要新的技术。由于这些服务是web服务或RESTful api,所以不可能将移动应用程序作为web应用程序爬行。为了进行安全测试,必须手动抓取和捕获流量,将其保存为可使用格式并提供给AppSpider。
要测试一个移动应用程序,用户需要在软件模型中设置Android模拟器。用户需要安装Android SDK,可在以下链接免费获得:http://developer.android.com/sdk/installing/index.html?pkg=tools
在模拟器中安装Hackazon应用程序
Hackazon应用程序二进制文件位于Github下载包的“\Hackazon\web\app”中。要在Emulator上安装应用程序,请打开windows系统的命令提示符并应用以下命令。Hackazon应用程序将安装在Emulator上。
命令安装apk文件到模拟器:adb-e安装“Apk系统路径”例如:安装C: android-sdk-windows\platform-tools\hackazon.apk
在仿真器层配置代理
配置代理有两种方法。
- 使用命令行工具运行和设置代理
Avd {Avd -name| example testdroid} -http-proxy {http-proxy address:port| example 192.168.56.101:8080}
例如:Android-http-proxy 192.168.56.101:8080
- 在Android操作系统本身中进行配置
- 在Android设备上,导航至设置,然后点击Wi-Fi
- 长按WiFi连接至“修改网络”
- 输入代理设置
我们正在使用一个Burp代理工具来捕获流量。导航到“代理”>>“选项”并设置代理监听器。
现在,启动Hackazon应用程序。使用默认登录凭据登录该应用程序。手动爬网该应用程序。
- 浏览这些项目。
- 添加商品到购物车。
- 继续结帐。
将请求保存为XML格式。
AppSpider具有名为“导入录制的流量”的功能,允许用户将预录制的流量导入AppSpider,并启用“限制扫描到录制的流量”选项。此功能限制AppSpider进行攻击,并仅在用户导入的HTTP流量上发现漏洞。
使用Appspider创建新扫描,并插入应用程序的扫描名称和URL。
在扫描移动应用程序以查找漏洞时,请检查“攻击策略”和“记录流量”选项。
选择预定义的攻击策略或创建自己的攻击策略并加载。
现在,点击“导入流量”按钮,加载记录的流量。
AppSpider导入预录制的流量并加载它。
如果用户不想扫描整个域,可以检查“限制扫描到记录的流量”。在我们的示例中,我们希望对有限的记录流量执行扫描。因此,我们检查了Restrict Traffic选项。
现在,单击Sava并运行,AppSpider将开始扫描移动应用程序。