由此可能造成2种主要威胁。
1.SQL/XML注入,并且如果读取目标是公开的,那另一个应用也可能读取此数据。
2.本地文件读取可能允许其他应用程序读取相关应用程序文件,如果它们包含敏感数据,那数据可能通过此途径泄露。
如果应用程序是一个HTML5的混合应用程序,则还需要考虑跨站脚本(XSS)问题。XSS会将整个应用程序暴露给攻击者,因为HTML5应用程序能够调用本机功能,从而控制整个应用(WebView)。移动设备网络代码
另外,应用程序可以使用“adb backup”的选项来制作应用程序的备份,通过分析备份内容可以识别当与客户端进行交互的时候,应用程序存储和泄露了什么。
2.3. M3-网络层保护不足【网络/流量攻击】
这里提供对不同层面进行测试的方法。
2.3.1. 服务器侧

l 识别所有SSL终端。
l 使用(sslscan)或类似软件识别SSL加密方式
l 是否禁用SSLv2,SSLv3
l 是否支持TLS1.2和1.1(1.2对于确保尽可能高的安全连接十分重要)
l 是否禁用R和基于CBC的加密算法
l DH参数应当>2048位
l SSL证书应当至少使用sha2/sha256签署
l ECDHE密钥/密钥应当支持完全正向保密
l SSL证书应当由受信任的RootCA签发
l SSL证书不应过期
l 验证进程间通信实现是否存在问题
2.3.2. 设备侧
l 通过浏览确认应用是否正常工作
l 在应用程序和远端服务器间设置代理。如果应用无法加载,应用程序可能进行了证书校验。注意logcat(译者注:logcat是Android中一个命令行工具,可以用于得到程序的log信息。)是否有消息输出
l 将代理使用的RootCA证书添加至设备受信任的RootCA列表。
l 尝试再次使用应用。如果应用仍然无法连接,应用程序可能使用了证书绑定。
你可以通过拦截或修改Smali代码来绕过证书绑定
2.3.2.1. 使用Xposed:
l 安装Xposed Framework以及Just Trust Me模块(译者注:用于禁用SSL证书验证),启用JustTrustMe然后重启设备。
l 再试一次如果一切正常那我们就通过使用Xposed模块成功绕过了证书绑定。
l 目前安卓的安全提供程序(Securityprovider)已经针对SSL漏洞进行了适当更新。
2.3.2.2. 修改SMALI:
l 识别/搜索实现证书绑定的方法(查找关键字例如’sha256/’后面跟着证书值类似于”sha256/wl0L/C04Advn5NQ/xefY1aCEHOref7f/Q+sScuDcvbg=”)
l 将证书绑定值改变为你使用的BURP证书所对应的值。
2.4. M4-不安全的认证【客户端/服务端攻击】
在这个部分的测试中,需要有一些必要的工具以进行评估。
l 代理工具如ZAP,BURP或者Charles
l 用于流量分析的Wireshark
通过分析客户端和服务器间的流量(HTTP请求/响应),注意检查以下项目
l 分析会话管理和工作流
l 使用代理分析API认证
l 不安全的WebView
l 检查凭据是存放在数据存储还是服务器端
l 滥用或可访问AccountManager(安卓的用户管理类)
l Authenticating Callers组件调用
不正确的会话处理通常会和糟糕的身份验证带来同样结果。当你通过认证并给予一个会话信息时,这个会话信息允许你访问移动应用。这里有很多东西需要注意
l 检查并验证后端的会话
l 检查会话超时保护
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-77465-2.html
经济拖垮了怎么办