Android APP 简单的安全测试流程

  • A+
所属分类:安全文章
Android APP 简单的安全测试流程

点击蓝字关注我们吧!



抓 包



1、修改网络



Android APP 简单的安全测试流程


与本机IP一致,打开 BurpSutie

选择:Proxy-Optinos-Proxy Lisiteners


Android APP 简单的安全测试流程



2、导入证书


打开手机浏览器输入:https://burp


Android APP 简单的安全测试流程


点击右上角的:CA Certificate  下载完后,把证书的格式改成 Cer

导入证书


Android APP 简单的安全测试流程

Android APP 简单的安全测试流程


导入就完事了。


3、抓包测试



Android APP 简单的安全测试流程


好的,没有问题嘿嘿嘿~


Android APP 简单的安全测试流程



常规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“表示签名没问题


Android APP 简单的安全测试流程


1.2反编译检测

选择APK-右键-打开压缩包

Android APP 简单的安全测试流程

Android APP 简单的安全测试流程


下面就不多说了,大家懂得都懂,直接上dex2jar都是老套路了嗷。


Android APP 简单的安全测试流程


用jd-gui打开(我用虚拟机操作的,可能有点不太清楚)


Android APP 简单的安全测试流程


还有一种方式比较快捷,

使用Android Killer工具,不过这个工具可能有点老,大家可以自行选择

直接把apk文件拖进去即可,内置dex2jarjd-gui工具


Android APP 简单的安全测试流程


1.3目录结构

我个人比较习惯先看一下xml文件,里面是获取那些权限之类的。

Android APP 简单的安全测试流程

文件夹 作用
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 APP 简单的安全测试流程

声明:android:exported="false" 不可导出

Android APP 简单的安全测试流程

未显示声明: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



Android APP 简单的安全测试流程


发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: