Ywc's blog

App安全评估思路总结

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

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常见漏洞
    1. 2.1. 1. 权限滥用
    2. 2.2. 2.https验证
    3. 2.3. 3. Log敏感信息泄漏
    4. 2.4. 4. 不安全的配置
    5. 2.5. 5. 组件安全漏洞
  3. 3. App安全评估大概分类
  4. 4. 使用Burp抓取手机app的包(手机无需root)
  5. 5. app在什么情况下无法抓包(无法进行安全测试)
  6. 6. Reference