抓 包
1、修改网络
与本机IP一致,打开 BurpSutie
选择:Proxy-Optinos-Proxy Lisiteners
2、导入证书
打开手机浏览器输入:https://burp
点击右上角的:CA Certificate 下载完后,把证书的格式改成 Cer
导入证书
导入就完事了。
3、抓包测试
好的,没有问题嘿嘿嘿~
常规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“表示签名没问题
1.2反编译检测
选择APK-右键-打开压缩包
下面就不多说了,大家懂得都懂,直接上dex2jar都是老套路了嗷。
用jd-gui打开(我用虚拟机操作的,可能有点不太清楚)
还有一种方式比较快捷,
使用Android Killer工具,不过这个工具可能有点老,大家可以自行选择
直接把apk文件拖进去即可,内置dex2jar和jd-gui工具
1.3目录结构
我个人比较习惯先看一下xml文件,里面是获取那些权限之类的。
文件夹 | 作用 |
---|---|
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组件安全测试
使用APKTool或者dex2jar解包,打开目录中的AndroidManifest.xml
声明:android:exported="true" 可导出
声明:android:exported="false" 不可导出
未显示声明: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安全上多花点时间去研究它,给大家带来更好更优质的文章。
end
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论