前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >APP端测试系列(1)——通信安全

APP端测试系列(1)——通信安全

作者头像
Jayway
发布2019-10-08 10:53:27
1K0
发布2019-10-08 10:53:27
举报
文章被收录于专栏:卓文见识
一、概述

关于APK包、Android架构等基础知识这里先不做介绍,直接介绍测试项和测试方法。

当前业界对APP的测试还未形成统一的测试标准,OWASP统计了十大移动风险项:

中文解释如下:

总结起来,移动端的安全威胁从三个不同环节进行划分,主要分为客户端威胁、数据传输端威胁和服务端威胁:

根据各层存在的安全风险总结出思维导图,几乎包含了业界的基础测试项:

二、通信安全

2.1 准备:

数据传输层的测试方法和BS测试较为类似,但前提操作是使用Burp Suite抓取手机端的数据包,步骤很简单:

1) 将测试手机和装有BP的PC机置于同一局域网中:

2) 查看PC机IP地址,设置BP的代理如下:192.168.1.100:8080

3)手机端在WLAN中找到高级设置——>手动——>设置代理,输入IP:192.168.1.100和端口:8080

4) 这样手机端的流量走向就是:手机——>Proxy——>BP——>网关——>Internet,如果APP和服务器是经过https传输,在手机浏览器安装证书即可。

2.2 测试项:

1)渗透测试

抓到流量之后,其实和BS系统的渗透就没有区别了,根据经验/checklist表进行依次测试。相对来说APP层面的web防御不会像传统的web项目防御得全面,可以针对容易爆发的漏洞进行测试,如Stored-XSS、未授权访问、信息泄露等等,这是通信层测试的重点。

2)访问控制

将BP中抓取到的URL地址在PC浏览器进行访问,如果可以正常显示,可能也算是一个访问控制问题,需要具体判断这是否算问题。

3)通信保密性

该项包括两个协议:HTTP和HTTPS,严格来说HTTP是不安全协议,容易遭到中间人攻击,若使用了HTTPS,绕过加密证书同样可进行此攻击,方法主要有四种:

a)使用BP自签名证书,被信任则可抓取数据包;

b)用户证书中添加自定义CA:Android 6.0(API Level23)及以下版本默认会信任用户添加的CA,若版本较高则可修改AndroidManifest.xml文件中‘platformBuildVersionCode’属性为23,重新打包。

c)Frida Hook:自定义CA若无法添加,说明应用程序可能使用了某种SSL绑定技术或采用了额外的SSL验证,使用Frida或xposed进行hook绕过,这两项技术不详述,分别可参考:

https://koz.io/using-frida-on-android-without-root/

https://vxposed.com/?from=singlemessage

d)逆向自定义证书的验证代码:应用若使用了自开发的SSL库,而不是直接使用系统库来处理SSL证书,则可通过反编译出java代码进行重构,这部分在后续更新中会详细阐述。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卓文见识 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、通信安全
    • 2.1 准备:
      • 2.2 测试项:
      相关产品与服务
      SSL 证书
      腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档