Ywc's blog

App安全评估思路总结

Word count: 1.2kReading time: 4 min
2020/09/09 105

App安全威胁分析

app面临的威胁主要来自这三方面

app安全测试

客户端:

  • 反编译
  • 调试
  • 加密/签名破解
  • 输入记录
  • 导出组件
  • 进程注入

数据传输:

  • 信息泄露
  • 传输数据篡改
  • 重放攻击

服务端

  • 心血
  • ST2
  • 注入
  • 跨站
  • 越权执行
  • 上传下载
  • 弱口令

App常见漏洞

app安全测试

1. 权限滥用

  • 权限为normal权限,可能导致敏感信息泄露;

  • 如果程序具有root权限,且没有对调用做限制的话,可能被恶意利用;

  • 同源绕过漏洞,activity接收使用file://路径的协议,却没有禁用Javascript的执行,通过此漏洞可以读取应用的任意内部私有文件,造成信息泄露。

2.https验证

  • 漏洞可导致中间人攻击,应用没有校验服务器证书,可导致中间人攻击,泄露通信内容.

3. Log敏感信息泄漏

  • android应用程序在程序运行期间打印了用户的敏感信息,然后这些记录被存储在操作系统中,一般的存储路径为/data/data/应用程序名。

    这些信息可以被其他程序非法读取。尤其是这些数据是敏感的信息如用户名/密码,传输的数据等。这些Log造成敏感信息泄露。

4. 不安全的配置

  • 全局可读文件,应用内存在其它任何应用都可以读取的私有文件,可能造成信息泄漏,app调试风险,允许程序被调试;
  • 私有文件存在敏感文件泄露风险;
  • app备份风险,允许程序备份,可能导致用户信息泄露。

5. 组件安全漏洞

  • ContentResolver暴露漏洞,通过暴露的ContentResolver可以绕过provider的权限限制;

  • Activity安全漏洞,Activity存在崩溃或者异常,任意其它应用可导致存在此漏洞的应用崩溃或者功能调用;

  • Service安全漏洞,Service存在崩溃或者异常,任意其它应用可导致存在此漏洞的应用崩溃或者功能调用;

  • Receiver安全漏洞,BroadcastReceiver存在崩溃或者异常,任意其它应用可导致存在此漏洞的应用崩溃或者功能调用;

  • Activity组件暴露风险,Activity接口可被其它应用调用,用于执行特定的敏感操作或钓鱼欺骗;

  • 广播信息泄露风险,广播可以被其他恶意程序进行接收,导致用户信息泄露或者终止广播。

App安全评估大概分类

1、从数据的本地存储到数据的传输、处理以及远程访问等各个环节,基于相应的安全标准/行业标准评估APP的安全特性

2、借鉴在Web App和网络安全测试的一些成功经验在智能终端APP测试中进行测试或适配

3、检测APP的用户授权级别,数据泄露,非法授权访问等;

4、对APP的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测,以发现潜在的安全问题

5、基于各种通信协议或相应的行业安全标准检查app是否满足相应的要求。

使用Burp抓取手机app的包(手机无需root)

使用VirtualXposed抓包:https://testerhome.com/articles/18609 然后将burp证书倒入进手机,设置代理抓包即可:

app在什么情况下无法抓包(无法进行安全测试)

  • 一是APP截取的数据报文处于加密状态,在无法解密的情况下无法对数据包进行安全测试
  • 二是基于各类SSL的安全配置导致数据包无法抓取

Reference

Android App常见安全漏洞

移动安全app渗透测试要点

绿盟:移动APP安全测试要点

H5页面漏洞挖掘之路-加密篇

APP应用安全检测

https://github.com/Brucetg/App_Security

Android渗透测试学习手册
Android+APP渗透测试方法大全

CATALOG
  1. 1. App安全威胁分析
  2. 2. App常见漏洞
  3. 3. App安全评估大概分类
  4. 4. 使用Burp抓取手机app的包(手机无需root)
  5. 5. app在什么情况下无法抓包(无法进行安全测试)
  6. 6. Reference