共享文件夹 测试权限_Android APP 简单的安全测试流程

fe68a326528867b224b9ad3120d2b4cc.png

抓 包

1、修改网络

c1ee903c68e9b79022103666b0526b8b.png

与本机IP一致,打开 BurpSutie

选择:Proxy-Optinos-Proxy Lisiteners

2c10944ef51745130cffb75c9b8d4e29.png

2、导入证书

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

d64505b695f74c94d9a2e237f882ecfa.png

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

导入证书

8196e59b9f4707754122189c7af64f7b.png

cb37abd3d782567e495c29ed0514cd40.png

导入就完事了。

3、抓包测试

711d7a1ebe600970a8baf08c87e29222.png

好的,没有问题嘿嘿嘿~

0a053c5cee43d53d4491cea9b1dd21fe.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

1.2反编译检测

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

26f11709b6d7db20d5f8349cb6f5f2a1.png

ad1a46f872e9ef193400857e87e509a9.png

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

999bb47ff77b36720269b30ec93a2927.png

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

e47faab8cc72f762663501e7f7a41619.png

还有一种方式比较快捷,

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

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

f97eac8e4db5798df7e19f708e7c2fdd.png

1.3目录结构

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

612b7ad3745d5dea8a5869e2d12db34b.png

文件夹 作用

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

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

aabb12a81cdd5f6a89d7c3fdf2b4406a.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安全上多花点时间去研究它,给大家带来更好更优质的文章。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值