APP渗透测试方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
APP 渗透测试方案
2016-7-29
XXXXX 公司
广东省广州市 XXXXX 地址
目录
1 App 渗透简介 (2)
2 APP 渗透测试所用工具 (2)
2.1 代理抓包工具 (2)
2.2 反编译工具 (2)
2.3 其他针对服务端的web 渗透工具 (3)
3 APP 渗透测试的方法 (4)
3.1 数据包分析、测试 (4)
3.2 APP 反编译还原代码 (4)
4 APP 渗透测试流程 (4)
4.1 项目启动 (4)
4.1.1 项目启动准备 (4)
4.1.2 实施方案制定 (4)
4.2 项目实施 (5)
4.2.1 信息收集 (5)
4.2.2 平台使用不当的测试 (5)
4.2.3 不安全的数据存储的测试 (5)
4.2.4 不安全的通信的测试 (5)
4.2.5 不安全的身份验证的测试 (6)
4.2.6 加密不足的测试 (6)
4.2.7 不安全的授权的测试 (6)
4.2.8 客户端代码质量问题的测试 (6)
4.2.9 代码篡改的测试 (6)
4.3 项目收尾 (6)
4.3.1 报告编写 (6)
4.3.2 问题复查 (7)
1
1 App 渗透简介
移动app 大多通过web api 服务的方式跟服务端交互,这种模式把移动安全跟web 安全绑在一起。移动app 以web 服务的方式跟服务端交互,服务器
端也是一个展示信息的网站,常见的web 漏洞在这也存在,比如说SQL 注入、
文件上传、中间件/server 漏洞等。
2 APP 渗透测试所用工具
2.1 代理抓包工具
✧Burpsuit
✧Fiddler
代理抓包工具主要用于抓取、分析、篡改APP 与服务端之间的交互数据包。
爆破、解编码、执行会话令牌等作用。
2.2 反编译工具
APP 的反编译有两种反编译方式,dex2jar 和apktool,两个工具反编译的
效果是不一样的,dex2jar 反编译出java 源代码,apktool 反编译出来的是java
汇编代码。
✧工具1:dex2jar+jdgui
✧工具2:apktool
工具 1 反编译出来的是java 源代码,易读性比较高。
工具 2 反编译出来的东西为smali 反汇编代码、res 资源文件、assets 配置
2
文件、lib 库文件,我们可以直接搜索smali 文件和资源文件来查找链接等。
2.3 其他针对服务端的web 渗透工具
✧NMAP
Nmap 是一款网络扫描和主机检测的非常有用的工具。Nmap 是不局限于仅
仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac 等操作系统。Nmap 是一款非常强大的实用工具,可用于:
检测活在网络上的主机(主机发现)
检测主机上开放的端口(端口发现或枚举)
检测到相应的端口(服务发现)的软件和版本
检测操作系统,硬件地址,以及软件版本
检测脆弱性的漏洞(Nmap 的脚本)
✧SLQMAP
Sqlmap 是一种开源的渗透测试工具,可以自动检测和利用SQL 注入漏洞以及接入该数据库的服务器。它拥有非常强大的检测引擎、具有多种特性的渗透测试器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。
支持的数据库:MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MaxDB
SQL 注入技术:boolean-based blind, time-based blind, error-based, UNION query, stacked queries and out-of-band
枚举数据:users,password hashes,privileges,roles,databases,tables and columns
✧其他
针对strut2 的漏洞利用脚本、网站弱电扫描工具、网站目录爆破工具、
BeEF 等
3
3 APP 渗透测试的方法
3.1 数据包分析、测试
利用burpsuit、fiddler 对APP 进行抓包分析、篡改。这个方法利用在移动设备上设置代理,通过人工操作使app 与服务端交互。测试APP 与服务端的业务流程是否存在漏洞。
3.2 APP 反编译还原代码
有两种反编译方式,dex2jar 和apktool,两个工具反编译的效果是不一样的,dex2jar 反编译出java 源代码,apktool 反编译出来的是java 汇编代码。从源代码层面上分析APP 安全性。
4 APP 渗透测试流程
4.1 项目启动
4.1.1 项目启动准备
项目启动前为了保障双方利益、使得APP 渗透项目可以顺利进行需与客户签订项目合同、项目保密协议、项目启动实施协调等前期工作。
4.1.2 实施方案制定
某某获取到XXX 的书面授权许可后,才进行渗透测试的实施。并且将实施范围、方法、时间、人员等具体的方案与XXX 进行交流,并得到XXX 的认同。
4