通过IOS/Android App获取APP后端数据

作者:Secer 发布时间:October 21, 2015 分类:手机安全

本文原创作者:bt0sea

clip_image001

0×00、业务需求

移动应用产业以爆炸性的速度呈指数增长,但移动应用的安全问题落后于应用的发展速度。由于黑客事件变得越来越公开,对企业的影响比以往任何时候都更大。黑客渗透获取用户敏感数据后,出于商业目的销售,或者公开。所以,在移动APP端对企业数据的保护尤为重要。

P2P网站、金融等相关的网站、APP保存着用户的身份信息(真实姓名、身份证号、手机号、征信证明、银行流水等)。目前趋势是移动APP漏洞层出不穷,今天的移动安全相当于十年前web服务器安全的级别。基本上可以得出这样的结论:根据权威机构评估,平均每一个移动APP应用大约有3.5个安全漏洞,Apk 就是open source code代名词。

但是,单纯研究Mobile APP安全性问题,无法利用高危,获得服务器端的数据。所以,在分析移动APP漏洞的同时,要重点分析连接移动APP的RESTful API Web service。为什么要提RESTful API Web service呢?普通web架构+JSON不就成了么?经过分析大部分有价值数据的网站都是使用RESTful API Web service。这是热需求。

咱们先看看哪些大咖用这种设计架构,github/fackbook等。不了解RESTful API Web Service的同学请参考:

http://www.ruanyifeng.com/blog/2014/05/restful_api.html

0×01、研究手段

一、破解思路:

其实重点突破RESTful API Web Service 还是通过iOS/Android App。由于很多高大上的网站为了安全性,把Web网站和移动APP隔离,发现使用http(s)://api(OpenApi).xxx.com/login/v1?phone=13811110000&sgin=022BEC9EE1B935B50D1193A07A3AD7B2。都是通过移动APP抓到的包。所以,我们先看看移动端安全风险主要有哪些,我们如何下手,其实OWASP Mobile Top 10 Risks给我们指引了方向:

M1: 不安全的服务器端访问控制

M2: 不安全的数据存储

M3: 传输层保护不足

M4: 非预期的数据泄露

M5: 脆弱的认证和授权

M6: 已知的弱加密算法

M7: 客户端注入

M8: 通过不被信任的输入改变安全设定

M9: 会话处理不当

M10: 缺乏二进制保护

虽然说官网总结的很好,但是对于服务器端渗透从字面上只有M1。但是个人觉得需要配合APP破解才能达到最佳效果。那么,具体应该怎么操作呢?

M1:不安全的服务器端访问控制

(1)通过android移动APP程序攻击服务器端业务逻辑。

(2)验证服务器端对输入校验。

(3)通用 SQL注入 XSS跨站脚本,不安全的认证检查。

(4)通过代理方式操纵伪造数据提交。

当然要配合M2相关内容。

M2:不安全的数据存储

(1)敏感信息:用户名、密码、加密key、信用卡信息、session识别码、token等。

(2)个人信息:手机号、家庭住址、电子邮件、位置信息等。

(3)还有一些可能包含敏感信息的文件存储:SQLite databases 、Log Files 、XML Data Stores or Manifest Files 、Binary data stores 、SD Card、Cloud

二、具体攻击方法

阅读剩余部分...