![fe68a326528867b224b9ad3120d2b4cc.png](https://i-blog.csdnimg.cn/blog_migrate/cf4aa27862a0d0e9e32e6e82e6833223.jpeg)
抓 包
1、修改网络
![c1ee903c68e9b79022103666b0526b8b.png](https://i-blog.csdnimg.cn/blog_migrate/4726cca79cd022a3a220ff6261198e5a.jpeg)
与本机IP一致,打开 BurpSutie
选择:Proxy-Optinos-Proxy Lisiteners
![2c10944ef51745130cffb75c9b8d4e29.png](https://i-blog.csdnimg.cn/blog_migrate/c6fec5e0fa0c120aab10703112638c5e.jpeg)
2、导入证书
打开手机浏览器输入:https://burp
![d64505b695f74c94d9a2e237f882ecfa.png](https://i-blog.csdnimg.cn/blog_migrate/476b40f9f4dbd2ff5e2d33624266bf12.jpeg)
点击右上角的:CA Certificate 下载完后,把证书的格式改成 Cer
导入证书
![8196e59b9f4707754122189c7af64f7b.png](https://i-blog.csdnimg.cn/blog_migrate/e47c33fa0bf52fdf6938a6e23119bf83.jpeg)
![cb37abd3d782567e495c29ed0514cd40.png](https://i-blog.csdnimg.cn/blog_migrate/115e5750e8349a04ab0a10f34a906a3f.jpeg)
导入就完事了。
3、抓包测试
![711d7a1ebe600970a8baf08c87e29222.png](https://i-blog.csdnimg.cn/blog_migrate/63dc55961300336b9298f7bfa7a94325.jpeg)
好的,没有问题嘿嘿嘿~
![0a053c5cee43d53d4491cea9b1dd21fe.png](https://i-blog.csdnimg.cn/blog_migrate/085bec4f3eafaeb32fe5123229940eab.png)
常规APP安全测试方式
工具以及环境:
SDK:Java JDK
工具:7-zip、dex2jar、jd-gui、apktool、IDA Pro、IDEA/Eclipse、010 editor、SQLite、ApkIDEA、BurpSutie/Fiddler.....
1、客户端程序简单的安全测试
1.1数字签名检测
C:ProgramFilesJavajdk1.8.0_144bin>jarsigner.exe-verify APK 文件地址
结果为“jar“表示签名没问题
![5c30e7790163c26ed10038c636c62c81.png](https://i-blog.csdnimg.cn/blog_migrate/59cc7fb7a4b73afc53430b0d0bed02c0.jpeg)
1.2反编译检测
选择APK-右键-打开压缩包
![26f11709b6d7db20d5f8349cb6f5f2a1.png](https://i-blog.csdnimg.cn/blog_migrate/52d9ae26aebff47c34f276fa65c71b99.jpeg)
![ad1a46f872e9ef193400857e87e509a9.png](https://i-blog.csdnimg.cn/blog_migrate/7c59e0255bb09ea62dedbf2741a66bfc.jpeg)
下面就不多说了,大家懂得都懂,直接上dex2jar都是老套路了嗷。
![999bb47ff77b36720269b30ec93a2927.png](https://i-blog.csdnimg.cn/blog_migrate/ad4f1a949a2eb8db843eec138ef40510.png)
用jd-gui打开(我用虚拟机操作的,可能有点不太清楚)
![e47faab8cc72f762663501e7f7a41619.png](https://i-blog.csdnimg.cn/blog_migrate/0a5d7c938bbd87f4aa5cb9483b5df203.jpeg)
还有一种方式比较快捷,
使用Android Killer工具,不过这个工具可能有点老,大家可以自行选择
直接把apk文件拖进去即可,内置dex2jar和jd-gui工具
![f97eac8e4db5798df7e19f708e7c2fdd.png](https://i-blog.csdnimg.cn/blog_migrate/fd2621ab377229bfaa4f2198d964d3dd.jpeg)
1.3目录结构
我个人比较习惯先看一下xml文件,里面是获取那些权限之类的。
![612b7ad3745d5dea8a5869e2d12db34b.png](https://i-blog.csdnimg.cn/blog_migrate/11e7011cd22651fb85bdb495d4c7870b.jpeg)
文件夹 作用
asset文件夹 资源目录1:asset和res都是资源目录但有所区别,见下面说明
lib文件夹 so库存放位置,一般由NDK编译得到,常见于使用游戏引擎或JNI native调用的工程中
META-INF文件夹 存放工程一些属性文件,例如Manifest.MF
res文件夹 资源目录2:asset和res都是资源目录但有所区别,见下面说明
AndroidManifest.xml Android工程的基础配置属性文件
classes.dex Java代码编译得到的DalvikVM能直接执行的文件,下面有介绍
resources.arsc 对res目录下的资源的一个索引文件,保存了原工程中strings.xml等文件内容
1.4组件安全测试
1.4组件安全测试
使用APKTool或者dex2jar解包,打开目录中的AndroidManifest.xml
声明:android:exported="true" 可导出
![4634faf16494b835a13a6050719f0ea2.png](https://i-blog.csdnimg.cn/blog_migrate/9b10e92e52cc196aede447ac446608e5.png)
声明:android:exported="false" 不可导出
![aabb12a81cdd5f6a89d7c3fdf2b4406a.png](https://i-blog.csdnimg.cn/blog_migrate/3da830f2ed20522ebff052cc1913103f.png)
未显示声明:android:exported:
组件不是:Content Provider:
1.5 app四大组件介绍
1、Activity
(1) 一个Activity通常就是一个单独窗口
(2) Activity之间通过lntent进行通信
(3) Android应用中每一恶搞Activity都必须要在androidmanifest.xml配置文件声明,否则系统将不识别也不执行该Activity
2、service
(1)service用于在后台完成用户指定的操作,service有两种
(2)started(启动):当应用程序组件 调用startService()方法启动服务时,服务器处于started状态
(3)bound(绑定):当应用程序组件 调用bindService()方法绑定到服务时,服务处于bound状态
3、content provider
(1)ContentProvider(数据提供者)是在应用程序间共享数据的一种接口机制 ContentProvider提供. 了更为高级的数据共享方法
4、broadcast receiver
BroadCastReceiver(广播接收者)作为四大组件,起到了在各组件中或不同进程中传递消息的功能,
在Android中的广播主要由三部分组成:广播发送者,广播(需要传递的消息),广播接收者三部分组成。
1.6应用权限测试
- 用反编译工具
- 打开源码后,检查 AndoridManifest.xml文化将应用权限和业务功能需要权限做对比,检查申请应用权限是否大于业务需要权限,有即存在安全隐患。
或者python manitree.py -f AndroidManifest.xml
manitree项目地址:https://github.com/antitree/manitree
对于APP安全测试我了解的也不是很多,近期也会在app安全上多花点时间去研究它,给大家带来更好更优质的文章。