免责声明
本公众号不止Security旨在分享网络安全领域的相关知识和工具,仅限于学习和研究之用。由于传播、利用本公众号不止Security所提供的信息而造成的任何直接或者间接的后果及损失,由使用者承担全部法律及连带责任,公众号不止Security及作者不为此承担任何责任。如有侵权烦请告知,我们会立即删除并致歉,谢谢。工具****安全性自测

PART
01
drozer介绍
概述
App四大组件测试会用到drozer工具,所以这里进行一个介绍,建议使用模拟器进行测试,因为很多app需要低版本的android才能正常运行(建议使用android7),下面会有模拟器的相关介绍,本文测试所用到的app和软件都为你准备好了
四大组件
|
组件名称
|
描述
|
用途
|
| — | — | — |
|
Activity
|
代表应用程序中的单个屏幕或用户界面
|
处理用户与应用程序的交互和响应用户的操作
|
|
Service
|
代表应用程序中的后台任务
|
在后台执行长时间运行的操作,例如音乐播放、下载和数据处理
|
|
BroadcastReceiver
|
用于接收系统广播和应用程序内部广播
|
响应系统和应用程序中的广播消息,例如电池电量、网络连接状态、应用程序安装等
|
|
ContentProvider
|
用于应用程序之间共享数据
|
允许应用程序访问其他应用程序存储在特定位置的数据,例如联系人、照片、音频文件等
|
drozer
drozer是一款针对Android系统的安全测试框架。drozer可以帮助Android app和设备变得更安全,其提供了很多Android平台下的
渗透测试exploit供你使用和分享。对于远程的exploit,它可以生成shellcode帮助你进行远程设备管理,可以进行app组件漏洞测试
Drozer 的主要功能包括:
应用程序渗透测试:Drozer 允许用户测试 Android 应用程序的安全性,包括动态和静态分析,以及漏洞扫描等。
应用程序漏洞挖掘:Drozer 提供了一个插件系统,允许用户编写自己的插件来挖掘 Android 应用程序中的漏洞。
代码审计:Drozer 允许用户快速浏览应用程序的源代码,并快速查找敏感信息和漏洞。
安全审计:Drozer 提供了一些常见的安全审计功能,例如渗透测试、代码审计和漏洞扫描等。
官网
https://github.com/WithSecureLabs/drozer
drozer相关参数
模块介绍翻译:
使用方法 run+模块就行,例如
run app.package.list 列出软件包名
|
模块
|
说明
|
| — | — |
|
app.activity.forintent
|
查找可以处理给定 intent 的 activity
|
|
app.activity.info
|
获取有关已导出 activity 的信息。
|
|
app.activity.start
|
启动 activity
|
|
app.broadcast.info
|
获取有关 broadcast receiver 的信息
|
|
app.broadcast.send
|
使用 intent 发送广播
|
|
app.broadcast.sniff
|
注册可以嗅探特定 intent 的 broadcast receiver
|
|
app.package.attacksurface
|
获取软件包的攻击面
|
|
app.package.backup
|
列出使用备份 API 的软件包(FLAG_ALLOW_BACKUP返回 true)
|
|
app.package.debuggable
|
查找可调试的软件包
|
|
app.package.info
|
获取有关已安装软件包的信息
|
|
app.package.launchintent
|
获取软件包的启动 intent
|
|
app.package.list
|
列出软件包名
|
|
app.package.manifest
|
获取软件包的 AndroidManifest.xml
|
|
app.package.native
|
查找应用程序中嵌入的本地库。
|
|
app.package.shareduid
|
查找共享 UID 的软件包
|
|
app.provider.columns
|
列出内容提供者中的列
|
|
app.provider.delete
|
从内容提供者中删除
|
|
app.provider.download
|
从支持文件的内容提供者下载文件
|
|
app.provider.finduri
|
在软件包中查找引用的内容 URI
|
|
app.provider.info
|
获取有关导出内容提供程序的信息
|
|
app.provider.insert
|
插入到内容提供程序
|
|
app.provider.query
|
查询内容提供程序
|
|
app.provider.read
|
从支持文件的内容提供者中读取
|
|
app.provider.update
|
更新内容提供者中的记录
|
|
app.service.info
|
获取有关已导出服务的信息
|
|
app.service.send
|
向服务发送消息,并显示回复
|
|
app.service.start
|
启动服务
|
|
app.service.stop
|
停止服务
|
|
auxiliary.webcontentresolver
|
启动内容提供者的 Web 服务接口。
|
|
exploit.jdwp.check
|
打开@jdwp-control,查看哪些应用连接
|
|
exploit.pilfer.general.apnprovider
|
读取 APN 内容提供者
|
|
exploit.pilfer.general.settingsprovider
|
读取设置内容提供者
|
|
information.datetime
|
打印日期/时间
|
|
information.deviceinfo
|
获取详细设备信息
|
|
information.permissions
|
获取设备上所有软件包使用的所有权限列表
|
|
scanner.activity.browsable
|
获取可以从 Web 浏览器调用的所有可浏览的 activity
|
|
scanner.misc.native
|
查找包中包含的本地组件
|
|
scanner.misc.readablefiles
|
在给定文件夹中查找可读取的全局文件
|
|
scanner.misc.secretcodes
|
搜索可从拨号器中使用的秘密代码
|
|
scanner.misc.sflagbinaries
|
在给定文件夹中查找 suid / sgid 二进制文件(默认为/system)。
|
|
scanner.misc.writablefiles
|
在给定文件夹中查找可写的全局文件
|
|
scanner.provider.finduris
|
搜索可以从我们的上下文查询的内容提供者。
|
|
scanner.provider.injection
|
测试内容提供程序的 SQL 注入漏洞。
|
|
scanner.provider.sqltables
|
查找可通过 SQL 注入漏洞访问的表。
|
|
scanner.provider.traversal
|
测试内容提供程序是否存在基本目录遍历漏洞。
|
|
shell.exec
|
执行单个 Linux 命令。
|
|
shell.send
|
将 ASH shell 发送到远程侦听器。
|
|
shell.start
|
进入交互式 Linux shell。
|
|
tools.file.download
|
下载文件。
|
|
tools.file.md5sum
|
获取文件的 md5 校验和。
|
|
tools.file.size
|
获取文件大小。
|
|
tools.file.upload
|
上传文件。
|
|
tools.setup.busybox
|
安装 Busybox。
|
|
tools.setup.minimalsu
|
准备在设备上安装’minimal-su’二进制文件。
|
drozer安装并使用
python安装
建议使用python2.7的环境,使用默认的安装目录安装在C盘,使用其他环境可能会出现各种问题,这里使用的python2.7.15版本,且使用的默认目录,后续成功安装drozer
使用之前279的环境安装出现了问题,不知道是版本太高,还是因为279安装的目录是C:\Program Files 有可能是因为Program Files中间有空格?不清楚,也没有再继续测试
python官方下载地址
https://www.python.org/downloads/

drozer安装
目前官方更新的最新的drozer版本为2.4.4
https://github.com/WithSecureLabs/drozer/releases/download/2.4.4/drozer-2.4.4.win32.msi

注意.msi安装时会安装在当前目录下
指定python2.715的路径


安装完成以后,在python的scripts目录下可以看到安装的drozer

app安装
目前官方更新的最新的版本就为2.3.4
https://github.com/WithSecureLabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk
下载drozer agent apk,手机上进行安装,然后开启服务,默认端口为31415

adb开启转发
电脑端安装好drozer,进入到drozer路径下,使用adb开启转发
adb forward tcp:31415 tcp:31415
成功开启

如果出现报错:error: no devices/emulators found 是因为手机打开开发者模式,需要打开开发者模式且开启USB调试
Drozer进行连接
启动方法1
直接输入drozer能够直接使用,因为drozer是安装在python的scripts目录下的,如果python配置了scripts系统变量,就可以直接启动drozer
启动方法2
进入到drozer的安装目录下,启动drozer进行连接
drozer console connect
成功连接

如果启动drozer报错提示安装依赖库,逐个安装如下依赖库即可
pip install protobuf -i https://pypi.tuna.tsinghua.edu.cn/simple``pip install pyopenssl -i https://pypi.tuna.tsinghua.edu.cn/simple``pip install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple``pip install twisted -i https://pypi.tuna.tsinghua.edu.cn/simple``pip install service_identity -i https://pypi.tuna.tsinghua.edu.cn/simple``pip install google
drozer乱码修复
后续执行结果中会出现中文,因为编码问题会出现乱码,所以这里需要进行一些优化,解决乱码问题
该目录下有一个package.py的文件,需要对他进行一些修改(具体的位置根据电脑的python位置而定,如果不确定直接使用everything搜索package.py即可)
C:\Python27\Lib\site-packages\drozer\modules\app\package.py

import sys``reload(sys)``sys.setdefaultencoding('utf-8')

360和362行write(后面添加一个u字

修改完成以后,重启drozer即可解决乱码问题
PART
02
组件测试环境准备
接下来的组件测试都会用到如下命令连接drozer,后面连接drozer不再重复演示
连接夜神模拟器(adb、模拟器等相关问题参考如下2篇文章)
adb相关问题可参考该文章
https://blog.youkuaiyun.com/weixin_37600187/article/details/127987889?ops_request_misc=&request_id=&biz_id=102&utm_term=adb%E6%89%8B%E6%9C%BA%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-127987889.142
连接夜神模拟器(如果不是模拟器,使用的真机,则不用这个命令连接,手动打开usb调试即可)
adb_nox connect 127.0.0.1:62001
adb开启转发
adb forward tcp:31415 tcp:31415
Drozer进行连接
drozer console connect

使用App Messenger工具获取到要测试的apk包名(将apk拖到App Messengerr中即可查看apk的相关信息),下面会用到

也可以使用drozer直接列出app中所有软件的包名
run app.package.list
PART
03
Activity组件测试
概述
组件用途
Activity组件代表应用程序中的单个屏幕或用户界面,用于处理用户与应用程序的交互和响应用户的操作
Activity组件的整体防护建议
1.权限管理修复
检查和设置权限:查看 AndroidManifest.xml,只请求必要权限。对于敏感权限,向用户解释用途,合理设置保护级别。
权限验证:在代码中每次操作前用ContextCompat.checkSelfPermission()检查权限,没权限就请求,有就执行操作。
2.Intent 安全修复
显式 Intent 使用:尽量用显式 Intent 启动 Activity,明确指定组件名称,避免隐式 Intent 风险。
一、Activity界面劫持漏洞
概述
activity劫持是指当程序运行时,恶意程序检测到前台运行的正是想要劫持的程序,于是立即启动自己的活动,伪造一个一模一样的登录界面并立马呈现给用户,普通用户无法识别这个页面的真实性,于是恶意程序就可以获取到用户输入的敏感信息并上传到自己的服务器。
危害
信息泄露:攻击者可获取用户在被劫持界面输入的敏感信息,如账号、密码等,导致隐私泄露和账号被盗用。
恶意引导:诱导用户进行有害操作,如修改交易信息、改变支付方式等,造成用户经济损失。
损害声誉:破坏用户体验,使用户对应用产生不信任,导致用户流失和负面评价。
修复
判断当前应用程序是否位于栈顶 (是否显示在最前面),如果处于后台,通过弹窗、震动等告知用户

测试
手机上打开要测试的软件(所有测试的软件都准备好了,公众号回复250107即可获取)
未劫持之前,是能看到桌面壁纸的

开始劫持测试
run app.activity.start --component 包名 包名.MainActivity`` ``run app.activity.start --component com.test.uihijack com.test.uihijack.MainActivity
成功劫持,看不到原来的壁纸了,而背景被换成了drozer的页面

一共有两个测试apk安装包,一个是未加固能够成功劫持的,一个是使用了360加固无法成功劫持的



二、Activity越权漏洞
概述
在一些业务场景中,某些界面包含敏感数据需要验证或者登录后才能查看,如果该敏感信息的Activity是可以导出的,没有进行权限验证,那么攻击者不需要输入验证信息即可绕过权限查看敏感信息
危害
数据泄露:恶意组件可能会获取受保护的数据,如用户隐私信息或商业机密,造成数据泄露。
功能滥用:攻击者能利用越权访问执行非预期功能,像发起支付或篡改系统设置,导致资金损失或设备异常。
稳定性受损:可能引发应用崩溃,如产生空指针异常或资源冲突,降低用户体验和应用竞争力。
修复
检查权限配置
- 查看AndroidManifest.xml文件,将不需要被外部访问的Activity的android:exported属性设为false
使用权限验证机制
- 在Activity代码的生命周期方法(如onCreate())中,通过checkCallingOrSelfPermission()等方法检查调用者是否有特定权限,没有权限则关闭Activity
加强组件间通信安全
- 合理设置Intent Filter,谨慎处理接收的intent,避免使用过于宽泛的配置,限制可启动Activity的Intent范围
数据验证和净化
- 对传入Activity的数据(如Intent的Extra数据)进行严格验证,不符合预期则进行相应处理(如关闭Activity)
测试
获取目标软件的包名

查询目标APP的Activity中,有哪些可以导出的组件
run app.package.attacksurface 包名`` ``run app.package.attacksurface com.mwr.example.sieve

发现3个可以导出的暴露组件,查看具体有哪些可以导出的暴露组件
run app.activity.info -a 包名`` ``run app.activity.info -a com.mwr.example.sieve

打开要测试的app(登录界面)

对组件进行越权测试
run app.activity.start --component 包名 要测试的组件名`` ``run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList``run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.FileSelectActivity``run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.MainLoginActivity (这一个就是登录页面)
越权以后的界面
run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList

run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.FileSelectActivity

贴一个真实案例
需要登录

越权后未登录可直接查看和操作的功能点


注:能够直接访问不需要登录就能查看的页面,这种不属于越权漏洞,比如登陆界面这种
三、Activity拒绝服务漏洞
概述
Android系统中提供了Intent机制来协助应用间的交互与通讯,其负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,系统则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。调用的组件在处理Intent附加数据的时候,没有进行异常捕获,因此当处理空数据、异常或者畸形数据时,导致应用崩溃。
简单描述就是,攻击者通过intent发送空数据、异常或畸形数据给受害者应用,导致APP发生崩溃
危害
应用崩溃:非法请求使应用无法处理,导致崩溃,中断用户操作。
可用性降低:使Activity无法响应,影响用户获取信息。
用户流失和声誉受损:用户可能放弃使用,损害应用形象,影响长期发展。
修复
处理通过Intent.getXXXExtra()获取的数据时进行以下判断,以及用try catch方式进行捕获所有异常,以防止应用出现拒绝服务漏洞。
常见异常处理:
-
空指针异常处理
-
类型转换异常(序列化)
-
数组越界访问异常
-
类未定义异常
-
其他异常
测试
和越权漏洞测试是同样的方法,只不过这个是是看调用哪个组件会导致程序崩溃而已
查看具体有哪些可以导出的暴露组件
run app.activity.info -a 包名`` ``run app.activity.info -a com.mwr.example.sieve
测试相关组件(向组件发送空的intent,查看客户端app是否崩溃退出,如果崩溃退出则代表存在拒绝服务漏洞)
run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList``run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.FileSelectActivity
如果出现空白页面这种不算拒绝服务漏洞,这种应该是捕获到异常了

PART
04
BroadcastReceiver组件测试
概述
组件用途
响应系统和应用程序中的广播消息,例如电池电量、网络连接状态、应用程序安装等
BroadcastReceiver组件的整体防护建议
①私有广播接收器设置exported=’false’,并且不配置intent-filter。(私有广播接收器依然能接收到同UID的广播)。
②对接收来的广播进行验证。
③内部app之间的广播使用protectionLevel=’signature’ 验证其是否真是内部app。
④返回结果时需注意接收app是否会泄露信息。
⑤发送的广播包含敏感信息时需指定广播接收器,使用显示意图或者setPackage(String packageName)。
⑥使用LocalBroadcastManager。
一、BroadcastReceiver恶意广播漏洞
概述
攻击者通过发送恶意广播,触发未正确保护的BroadcastReceiver,利用这一漏洞,攻击者可以在用户手机通知栏上推送任意消息,通过配合其它漏洞盗取本地隐私文件和执行任意代码。
危害
在用户手机通知栏上推送任意消息,通过配合其它漏洞盗取本地隐私文件和执行任意代码。
修复
使用显式广播:
发送广播时明确指定接收者,如在代码中使用组件类名指定,可降低被恶意应用拦截的风险。
设置权限保护广播:
为广播添加自定义权限,在发送和接收广播时都要设置相关权限,只有拥有权限的应用才能处理广播。
限制广播范围和可见性:
对于应用内部通信的广播,使用本地广播(LocalBroadcastManager),这样广播仅在应用内部传播,更安全。
测试
查看app的包名

在AndroidManifest.xml文件中查找app中receiver组件action的名称
直接将app拖到jadx在资源文件中即可看到AndroidManifest.xml文件

在AndroidManifest.xml中查找receiver组件,receiver未进行exported设置,说明存在漏洞

这个为app的receiver组件action的名称(org.owasp.goatdroid.fourgoats.SOCIAL_SMS)

查看广播接收器的类名
run app.broadcast.info -a 包名
run app.broadcast.info -a org.owasp.goatdroid.fourgoats

使用jadx反编译目标app,并在源代码中查找反编译的那个类

审计代码发现发送广播需要这两个参数

发送恶意广播
对这两个参数进行赋值,发送恶意广播
run app.broadcast.send --action receiver组件action的名称 --extra string 参数 参数值 --extra string 参数 参数值
–extra string 参数 参数值 --extra string 参数 参数值
有多个参数的话,进行多个参数和参数值设置传参即可
–extra string
这里参数类型是string,是因为代码中参数就是string类型,从bundle.getString可以看出来,如果是其他类型的话,这里测试时要做相应的修改
run app.broadcast.send --action org.owasp.goatdroid.fourgoats.SOCIAL_SMS --extra string phoneNumber 0101 --extra string message kfcvwo50
正常页面

成功发送恶意广播

二、BroadcastReceiver拒绝服务漏洞
概述
攻击者通过BroadcastReceiver广播组件发送不完整的intent,使用空数据、异常或畸形数据给受害者应用,导致APP发生崩溃
危害
应用崩溃:非法请求使应用无法处理,导致崩溃,中断用户操作。
用户流失和声誉受损:用户可能放弃使用,损害应用形象,影响长期发展。
修复
处理通过Intent.getXXXExtra()获取的数据时进行以下判断,以及用try catch方式进行捕获所有异常,以防止应用出现拒绝服务漏洞。
常见异常处理:
-
空指针异常处理
-
类型转换异常(序列化)
-
数组越界访问异常
-
类未定义异常
-
其他异常
测试
和上面测试的BroadcastReceiver恶意广播漏洞步骤几乎一致,这里只写不同的步骤
像广播组件发送不完整的的intent进行测试,如果app发生崩溃则代表存在该漏洞
run app.broadcast.send --action receiver组件action的名称
run app.broadcast.send --action org.owasp.goatdroid.fourgoats.SOCIAL_SMS
程序出现崩溃

PART
05
Service组件测试
概述
组件用途
代表应用程序中的后台任务,在后台执行长时间运行的操作,例如音乐播放、下载和数据处理
漏洞需要满足如下条件
Service 作为 Android 的组件,必须要在 AndroidManifest.xml 中进行声明,同样也会分为导出与非导出的状态。
当满足以下条件之一的时候,Service 组件将是导出状态,可以被其他 APP 调用:
-
显式设置了 android:exported=“true” (当 SDK 小于等于16的时候,默认为 true)
-
设置了 的 action 标签,且未设置 android:exported=“false”

使用drozer扫描可以导出的service组件
run app.service.info -a 包名

Service组件的整体防护建议
-
启动Activity时,不要给intent添加FLAG_ACTIVITY_NEW_TASK标签,防止出现不必要的任务创建及潜在的安全问题。
-
要尽可能避免发送包含敏感信息的数据,降低信息泄露风险。
-
对于仅供内部使用的私有服务(Service),不要为其设定intent-filter,同时要将exported属性设为false,以此确保外部应用无法访问。
-
若某个服务仅被应用自身使用,那就得将它设置成私有性质,避免不必要的暴露风险。
-
内部使用的服务,要利用签名级别的protectionLevel来核验是否为内部应用所调用,强化安全管控。
-
对外公开的服务,需将exported属性设为true,至于intent-filter,可以按需决定是否定义,以满足不同的交互需求。
-
若与合作方共享服务,建议对合作方应用的签名进行严格校验,保障交互安全。
-
当清楚知晓需要调用特定服务时,应采用显示意图,精准指向目标,减少误操作与安全风险。
-
不能在服务刚创建(也就是onCreate方法被触发时)就判定是否对外提供服务,而应等到onStartCommand、onBind或onHandleIntent等方法被被调用的时候再做决策,这样能根据实际交互情况灵活应对。
一、Service越权漏洞
概述
使用app软件进行一些操作时需要获取权限,让用户同意才行,例如读取本地数据,打开摄像头、发送短信等敏感操作,但如果service配置的intent-filter默认是被导出的,没对调用这个Service进行权限限制或者是没有对调用者的身份进行有效的验证,那攻击者可以不获取用户的授权,直接进行敏感操作
危害
调用app组件完成敏感操作,例如调用摄像头、发送短信、打电话等
修复
注册时声明其调用权限
案例
查看app的包名

在AndroidManifest.xml文件中查找app中service组件的名称
直接将app拖到jadx在资源文件中即可看到AndroidManifest.xml文件

这个为app中service组件的名称(ddns.android.vuls.services.SMSService)

审计代码,发现参数phone(string类型)和参数content(string类型),对这两个参数进行测试


对这两个参数进行越权测试
run app.service.start --component 包名 service组件名称 --extra string 参数 参数值 --extra string 参数 参数值
–extra string 参数 参数值 --extra string 参数 参数值
有多个参数的话,进行多个参数和参数值设置传参即可
–extra string
这里参数类型是string,是因为代码中参数就是string类型,从bundle.getString可以看出来,如果是其他类型的话,这里测试时要做相应的修改
run app.service.start --component ddns.android.vuls ddns.android.vuls.services.SMSService --extra string phone 138111122 --extra string content kfcvwo50
打开app进入到service安全界面,并对该app赋予短信相关权限

执行上面的命令,成功发送短信(弄一个不存在的号码或者自己的号码测试)



二、Service拒绝服务漏洞
概述
攻击者通过service组件发送不完整的intent,使用空数据、异常或畸形数据给受害者应用,导致APP发生崩溃
危害
应用崩溃:非法请求使应用无法处理,导致崩溃,中断用户操作。
用户流失和声誉受损:用户可能放弃使用,损害应用形象,影响长期发展。
修复
处理通过Intent.getXXXExtra()获取的数据时进行以下判断,以及用try catch方式进行捕获所有异常,以防止应用出现拒绝服务漏洞。
常见异常处理:
-
空指针异常处理
-
类型转换异常(序列化)
-
数组越界访问异常
-
类未定义异常
-
其他异常
测试
adb shell am startservice -n 包名/service组件名字
详细案例请参考
https://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-094635
三、Service消息伪造漏洞
概述
暴露的Service对外接收Intent,如果构造恶意的消息放在Intent中传输,被调用的Service接收可能产生安全隐患
危害
信息泄露
攻击者可获取如登录凭证、个人资料等敏感信息,侵犯用户隐私。例如在金融应用中获取用户账户余额。
破坏系统完整性
会干扰系统正常通信,导致数据不一致。像电商系统中可能出现超卖情况。
拒绝服务攻击
大量伪造消息会耗尽系统资源,使系统无法正常响应合法请求。
修复
加强身份认证与授权
服务间认证:为服务分配唯一身份标识(如证书、密钥),通信时相互验证。比如微服务间用证书认证,防止非法服务伪装。
测试
xxx客户端组件暴露导致第三方应用可以触发其升级过程,同时可以指定升级下载的URL地址,可导致任意应用安装!

详细案例请参考
https://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-094635
PART
06
ContentProvider组件测试
概述
组件用途
用于应用程序之间共享数据,允许应用程序访问其他应用程序存储在特定位置的数据,例如联系人、照片、音频文件等
漏洞需要满足如下条件
反编译 apk 文件,在 AndroidManifest.xml 中查找显示设置了 android:exported=“true” Content Provider。
使用drozer扫描可以导出的ContentProvider组件
run app.provider.info -a 包名
共发现2个可以导出的ContentProvider组件

一、ContentProvider敏感信息泄露漏洞
概述
访问url,查看url中是否有敏感信息泄露
危害
敏感信息的暴露会提供给攻击者更多的可用信息,引起更多被侵入的风险。
修复
① minSdkVersion不低于9。
②不向外部app提供数据的私有content provider显示设置exported=”false”,避免组件暴露(编译api小于17时更应注意此点)。
③内部app通过content provid交换数据时,设置protectionLevel=”signature”验证签名。
④公开的content provider确保不存储敏感数据。
测试
设置一个密码和pin(后面读取数据会用到)


查看app的包名

使用drozer进行url路径扫描
run scanner.provider.finduris -a <包名>
run scanner.provider.finduris -a com.mwr.example.sieve
扫描出3个路径

读取url路径中的数据
run app.provider.query 路径
run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/``run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords
成功获取到数据(刚才设置的密码)

二、ContentProvider SQL注入漏洞
概述
对Content Provider进行增删改查操作时,程序没有对用户的输入进行过滤,未采用参数化查询的方式,可能会导致sql注入攻击。
所谓的SQL注入攻击指的是攻击者可以精心构造selection参数、projection参数以及其他有效的SQL语句组成部分,实现在未授权的情况下从Content Provider获取更多信息。应该避免使用SQLiteDatabase.rawQuery()进行查询,而应该使用编译好的参数化语句。
使用预编译好的语句比如SQLiteStatement,不仅可以避免SQL注入,而且操作性能也大幅提高,因为其不用每次执行都进行解析。
另外一种方式是使用query(),insert(),update(),和delete()方法,因为这些函数也提供了参数化的语句。预编译的参数化语句,问号处可以插入或者使bindString()绑定值。从而避免SQL注入攻击。
危害
数据库原有数据泄露、篡改甚至删除,甚至导致攻击者完全控制服务器。
修复
①实现健壮的服务端校验。
②使用参数化查询语句,比如SQLiteStatement。
③避免使用rawQuery()。
④过滤用户的输入。
测试
初步测试
基于上面的敏感信息泄露找到的url进行sql注入测试,这里相同的步骤不再赘述
run app.provider.query 路径 --projection “'”
–projection 后表示要注入的语句(双引号包含),在这里注入了一个单引号
run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --projection "'"``run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords --projection "'"
经过测试发现这两个url都发生报错,可能存在sql注入

app.provider.query的常用参数
optional arguments:` `-h, --help` `--projection [columns [columns ...]]` `the columns to SELECT from the database, as in "SELECT <projection> FROM ..."` `--selection conditions` `the conditions to apply to the query, as in "WHERE <conditions>"` `--selection-args [arg [arg ...]]` `any parameters to replace '?' in --selection` `--order by_column the column to order results by` `--vertical
使用drozer的注入模块进行sql测试确认是否存在注入
run scanner.provider.injection -a 包名
run scanner.provider.injection -a com.mwr.example.sieve
确认可以注入

查看详细数据
run app.provider.query 路径 --projection “要测试的语句”
查看数据库中有哪些表
run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --projection "* FROM SQLITE_MASTER WHERE type='table';--+"

查看key表中的内容
run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --projection "* FROM key;--+"

sqlmap直接梭哈
drozer中执行以下命令,进行数据转发(这里默认启动端口为8080)
run auxiliary.webcontentresolver

使用本地的sqlmap经过drozer流量转发对app进行测试
`drozer测试语句``run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --projection "'"`` ``sqlmap的测试语句``http://127.0.0.1:8080/query?uri=content://com.mwr.example.sieve.DBContentProvider/Keys/&projection=1*`` ``最终执行的sqlmap测试语句``python3 sqlmap.py -u "http://127.0.0.1:8080/query?uri=content://com.mwr.example.sieve.DBContentProvider/Keys/&projection=1*" --dbms=SQLite --batch`

三、ContentProvider任意文件读取漏洞(目录遍历漏洞)
概述
Android Content Provider存在文件目录遍历安全漏洞,该漏洞源于对外暴露Content Provider组件的应用,没有对Content Provider组件的访问进行权限控制和对访问的目标文件的Content Query Uri进行有效判断,攻击者利用该应用暴露的Content Provider的openFile()接口进行文件目录遍历以达到访问任意可读文件的目的。
危害
攻击者可以读取目标APP的私有文件,造成敏感信息泄露。
修复
① 将不必要导出的Content Provider设置为不导出。
② 去除没有必要的openFile()接口。
③ 过滤限制跨域访问,对访问的目标文件的路径进行有效判断。
④ 设置权限来进行内部应用通过Content Provider的数据共享。
测试
查看app的包名

检测文件遍历漏洞
run scanner.provider.traversal -a <包名>
run scanner.provider.traversal -a com.mwr.example.sieve
发现2个存在文件遍历漏洞的组件

读取文件内容
run app.provider.read 存在文件遍历漏洞的组件/要读取的文件名
run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts

下载文件到本地
run app.provider.download 存在文件遍历漏洞的组件/要读取的文件名 要下载到的目标文件
run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/etc/hosts C:/Users/xxx/Downloads/hosts.txt

最后希望师傅们变得更强,挖洞如喝水!!!
黑客/网络安全学习路线
对于从来没有接触过黑客/网络安全的同学,目前网络安全、信息安全也是计算机大学生毕业薪资相对较高的学科。
大白也帮大家准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
这也是耗费了大白近四个月的时间,吐血整理,文章非常非常长,觉得有用的话,希望粉丝朋友帮忙点个**「分享」「收藏」「在看」「赞」**
网络安全/渗透测试法律法规必知必会****
今天大白就帮想学黑客/网络安全技术的朋友们入门必须先了解法律法律。
【网络安全零基础入门必知必会】什么是黑客、白客、红客、极客、脚本小子?(02)
【网络安全零基础入门必知必会】网络安全专业术语全面解析(05)
【网络安全入门必知必会】《中华人民共和国网络安全法》(06)
【网络安全零基础入门必知必会】《计算机信息系统安全保护条例》(07)
【网络安全零基础入门必知必会】《中国计算机信息网络国际联网管理暂行规定》(08)
【网络安全零基础入门必知必会】《计算机信息网络国际互联网安全保护管理办法》(09)
【网络安全零基础入门必知必会】《互联网信息服务管理办法》(10)
【网络安全零基础入门必知必会】《计算机信息系统安全专用产品检测和销售许可证管理办法》(11)
【网络安全零基础入门必知必会】《通信网络安全防护管理办法》(12)
【网络安全零基础入门必知必会】《中华人民共和国国家安全法》(13)
【网络安全零基础入门必知必会】《中华人民共和国数据安全法》(14)
【网络安全零基础入门必知必会】《中华人民共和国个人信息保护法》(15)
【网络安全零基础入门必知必会】《网络产品安全漏洞管理规定》(16)
网络安全/渗透测试linux入门必知必会
【网络安全零基础入门必知必会】什么是Linux?Linux系统的组成与版本?什么是命令(01)
【网络安全零基础入门必知必会】VMware下载安装,使用VMware新建虚拟机,远程管理工具(02)
【网络安全零基础入门必知必会】VMware常用操作指南(非常详细)零基础入门到精通,收藏这一篇就够了(03)
【网络安全零基础入门必知必会】CentOS7安装流程步骤教程(非常详细)零基入门到精通,收藏这一篇就够了(04)
【网络安全零基础入门必知必会】Linux系统目录结构详细介绍(05)
【网络安全零基础入门必知必会】Linux 命令大全(非常详细)零基础入门到精通,收藏这一篇就够了(06)
【网络安全零基础入门必知必会】linux安全加固(非常详细)零基础入门到精通,收藏这一篇就够了(07)
网络安全/渗透测试****计算机网络入门必知必会****
【网络安全零基础入门必知必会】TCP/IP协议深入解析(非常详细)零基础入门到精通,收藏这一篇就够了(01)
【网络安全零基础入门必知必会】什么是HTTP数据包&Http数据包分析(非常详细)零基础入门到精通,收藏这一篇就够了(02)
【网络安全零基础入门必知必会】计算机网络—子网划分、子网掩码和网关(非常详细)零基础入门到精通,收藏这一篇就够了(03)
网络安全/渗透测试入门之HTML入门必知必会
【网络安全零基础入门必知必会】什么是HTML&HTML基本结构&HTML基本使用(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全零基础入门必知必会】VScode、PhpStorm的安装使用、Php的环境配置,零基础入门到精通,收藏这一篇就够了2
【网络安全零基础入门必知必会】HTML之编写登录和文件上传(非常详细)零基础入门到精通,收藏这一篇就够了3
网络安全/渗透测试入门之Javascript入门必知必会
【网络安全零基础入门必知必会】Javascript语法基础(非常详细)零基础入门到精通,收藏这一篇就够了(01)
【网络安全零基础入门必知必会】Javascript实现Post请求、Ajax请求、输出数据到页面、实现前进后退、文件上传(02)
网络安全/渗透测试入门之Shell入门必知必会
【网络安全零基础入门必知必会】Shell编程基础入门(非常详细)零基础入门到精通,收藏这一篇就够了(第七章)
网络安全/渗透测试入门之PHP入门必知必会
【网络安全零基础入门】PHP环境搭建、安装Apache、安装与配置MySQL(非常详细)零基础入门到精通,收藏这一篇就够(01)
【网络安全零基础入门】PHP基础语法(非常详细)零基础入门到精通,收藏这一篇就够了(02)
【网络安全零基础入门必知必会】PHP+Bootstrap实现表单校验功能、PHP+MYSQL实现简单的用户注册登录功能(03)
网络安全/渗透测试入门之MySQL入门必知必会
【网络安全零基础入门必知必会】MySQL数据库基础知识/安装(非常详细)零基础入门到精通,收藏这一篇就够了(01)
【网络安全零基础入门必知必会】SQL语言入门(非常详细)零基础入门到精通,收藏这一篇就够了(02)
【网络安全零基础入门必知必会】MySQL函数使用大全(非常详细)零基础入门到精通,收藏这一篇就够了(03)
【网络安全零基础入门必知必会】MySQL多表查询语法(非常详细)零基础入门到精通,收藏这一篇就够了(04)
****网络安全/渗透测试入门之Python入门必知必会
【网络安全零基础入门必知必会】之Python+Pycharm安装保姆级教程,Python环境配置使用指南,收藏这一篇就够了【1】
【网络安全零基础入门必知必会】之Python编程入门教程(非常详细)零基础入门到精通,收藏这一篇就够了(2)
python入门教程python开发基本流程控制if … else
python入门教程之python开发可变和不可变数据类型和hash
【网络安全零基础入门必知必会】之10个python爬虫入门实例(非常详细)零基础入门到精通,收藏这一篇就够了(3)
****网络安全/渗透测试入门之SQL注入入门必知必会
【网络安全渗透测试零基础入门必知必会】之初识SQL注入(非常详细)零基础入门到精通,收藏这一篇就够了(1)
【网络安全渗透测试零基础入门必知必会】之SQL手工注入基础语法&工具介绍(2)
【网络安全渗透测试零基础入门必知必会】之SQL注入实战(非常详细)零基础入门到精通,收藏这一篇就够了(3)
【网络安全渗透测试零基础入门必知必会】之SQLmap安装&实战(非常详细)零基础入门到精通,收藏这一篇就够了(4)
【网络安全渗透测试零基础入门必知必会】之SQL防御(非常详细)零基础入门到精通,收藏这一篇就够了(4)
****网络安全/渗透测试入门之XSS攻击入门必知必会
【网络安全渗透测试零基础入门必知必会】之XSS攻击基本概念和原理介绍(非常详细)零基础入门到精通,收藏这一篇就够了(1)
网络安全渗透测试零基础入门必知必会】之XSS攻击获取用户cookie和用户密码(实战演示)零基础入门到精通收藏这一篇就够了(2)
【网络安全渗透测试零基础入门必知必会】之XSS攻击获取键盘记录(实战演示)零基础入门到精通收藏这一篇就够了(3)
【网络安全渗透测试零基础入门必知必会】之xss-platform平台的入门搭建(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试入门】之XSS漏洞检测、利用和防御机制XSS游戏(非常详细)零基础入门到精通,收藏这一篇就够了5
****网络安全/渗透测试入门文件上传攻击与防御入门必知必会
【网络安全渗透测试零基础入门必知必会】之什么是文件包含漏洞&分类(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全渗透测试零基础入门必知必会】之cve实际漏洞案例解析(非常详细)零基础入门到精通, 收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之PHP伪协议精讲(文件包含漏洞)零基础入门到精通,收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之如何搭建 DVWA 靶场保姆级教程(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之Web漏洞-文件包含漏洞超详细全解(附实例)5
【网络安全渗透测试零基础入门必知必会】之文件上传漏洞修复方案6
****网络安全/渗透测试入门CSRF渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之CSRF漏洞概述和原理(非常详细)零基础入门到精通, 收藏这一篇就够了1
【网络安全渗透测试零基础入门必知必会】之CSRF攻击的危害&分类(非常详细)零基础入门到精通, 收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之XSS与CSRF的区别(非常详细)零基础入门到精通, 收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之CSRF漏洞挖掘与自动化工具(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之CSRF请求伪造&Referer同源&置空&配合XSS&Token值校验&复用删除5
****网络安全/渗透测试入门SSRF渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之SSRF漏洞概述及原理(非常详细)零基础入门到精通,收藏这一篇就够了 1
【网络安全渗透测试零基础入门必知必会】之SSRF相关函数和协议(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之SSRF漏洞原理攻击与防御(非常详细)零基础入门到精通,收藏这一篇就够了3**
**
****网络安全/渗透测试入门XXE渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之XML外部实体注入(非常详细)零基础入门到精通,收藏这一篇就够了1
网络安全渗透测试零基础入门必知必会】之XXE的攻击与危害(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之XXE漏洞漏洞及利用方法解析(非常详细)零基础入门到精通,收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之微信XXE安全漏洞处理(非常详细)零基础入门到精通,收藏这一篇就够了4
****网络安全/渗透测试入门远程代码执行渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之远程代码执行原理介绍(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全零基础入门必知必会】之CVE-2021-4034漏洞原理解析(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全零基础入门必知必会】之PHP远程命令执行与代码执行原理利用与常见绕过总结3
【网络安全零基础入门必知必会】之WEB安全渗透测试-pikachu&DVWA靶场搭建教程,零基础入门到精通,收藏这一篇就够了4
****网络安全/渗透测试入门反序列化渗透与防御必知必会
【网络安全零基础入门必知必会】之什么是PHP对象反序列化操作(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全零基础渗透测试入门必知必会】之php反序列化漏洞原理解析、如何防御此漏洞?如何利用此漏洞?2
【网络安全渗透测试零基础入门必知必会】之Java 反序列化漏洞(非常详细)零基础入门到精通,收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之Java反序列化漏洞及实例解析(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之CTF题目解析Java代码审计中的反序列化漏洞,以及其他漏洞的组合利用5
网络安全/渗透测试**入门逻辑漏洞必知必会**
【网络安全渗透测试零基础入门必知必会】之一文带你0基础挖到逻辑漏洞(非常详细)零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门暴力猜解与防御必知必会
【网络安全渗透测试零基础入门必知必会】之密码安全概述(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全渗透测试零基础入门必知必会】之什么样的密码是不安全的?(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之密码猜解思路(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之利用Python暴力破解邻居家WiFi密码、压缩包密码,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之BurpSuite密码爆破实例演示,零基础入门到精通,收藏这一篇就够了5
【网络安全渗透测试零基础入门必知必会】之Hydra密码爆破工具使用教程图文教程,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之暴力破解medusa,零基础入门到精通,收藏这一篇就够了7
【网络安全渗透测试零基础入门必知必会】之Metasploit抓取密码,零基础入门到精通,收藏这一篇就够了8
****网络安全/渗透测试入门掌握Redis未授权访问漏洞必知必会
【网络安全渗透测试零基础入门必知必会】之Redis未授权访问漏洞,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Redis服务器被攻击后该如何安全加固,零基础入门到精通,收藏这一篇就够了**
**
网络安全/渗透测试入门掌握**ARP渗透与防御关必知必会**
【网络安全渗透测试零基础入门必知必会】之ARP攻击原理解析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之ARP流量分析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之ARP防御策略与实践指南,零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握系统权限提升渗透与防御关****必知必会
【网络安全渗透测试零基础入门必知必会】之Windows提权常用命令,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Windows权限提升实战,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之linux 提权(非常详细)零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握Dos与DDos渗透与防御相关****必知必会
【网络安全渗透测试零基础入门必知必会】之DoS与DDoS攻击原理(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Syn-Flood攻击原理解析(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之IP源地址欺骗与dos攻击,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之SNMP放大攻击原理及实战演示,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之NTP放大攻击原理,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之什么是CC攻击?CC攻击怎么防御?,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之如何防御DDOS的攻击?零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握无线网络安全渗透与防御相关****必知必会
【网络安全渗透测试零基础入门必知必会】之Aircrack-ng详细使用安装教程,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之aircrack-ng破解wifi密码(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之WEB渗透近源攻击,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之无线渗透|Wi-Fi渗透思路,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之渗透WEP新思路Hirte原理解析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之WPS的漏洞原理解析,零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握木马免杀问题与防御********必知必会
【网络安全渗透测试零基础入门必知必会】之Metasploit – 木马生成原理和方法,零基础入门到精通,收藏这篇就够了
【网络安全渗透测试零基础入门必知必会】之MSF使用教程永恒之蓝漏洞扫描与利用,收藏这一篇就够了
网络安全/渗透测试入门掌握Vulnhub靶场实战********必知必会
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶机Prime使用指南,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶场Breach1.0解析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之vulnhub靶场之DC-9,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶机Kioptrix level-4 多种姿势渗透详解,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶场PWNOS: 2.0 多种渗透方法,收藏这一篇就够了
网络安全/渗透测试入门掌握社会工程学必知必会
【网络安全渗透测试零基础入门必知必会】之什么是社会工程学?定义、类型、攻击技术,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之社会工程学之香农-韦弗模式,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之社工学smcr通信模型,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之社会工程学之社工步骤整理(附相应工具下载)收藏这一篇就够了
网络安全/渗透测试入门掌握********渗透测试工具使用******必知必会**
2024版最新Kali Linux操作系统安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之渗透测试工具大全之Nmap安装使用命令指南,零基础入门到精通,收藏这一篇就够了
2024版最新AWVS安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新burpsuite安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新owasp_zap安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Sqlmap安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Metasploit安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Nessus下载安装激活使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Wireshark安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
觉得有用的话,希望粉丝朋友帮大白点个**「分享」「收藏」「在看」「赞」**

黑客/网络安全学习包


资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**

**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

4372

被折叠的 条评论
为什么被折叠?



