44 漏洞发现-APP应用之漏洞探针类型利用修复

news2024/11/15 23:25:51

目录

    • 文章思路说明
    • 案例演示:
      • 抓包工具WEB协议面使用说明
      • 抓包工具非WEB协议面使用说明
      • 安卓逆向便捷APK一键提取URL演示
      • 利用Burp筛选及联动功能打出军体拳
      • 模拟器四个违法案例APP安全分析测试
    • 涉及资源:

在这里插入图片描述

逆向只会涉及到相关工具的使用,不会涉及到原理,因为我们讲的是安全测试,不是逆向破解的知识点

文章思路说明

我们在平时测试的时候,会碰到苹果、安卓,苹果的操作系统比较封闭,所以我们在苹果上面做的反编译相对困难,我们做的演示大部分都是集中在安卓上进行

我们要提前准备一台手机和安卓的模拟器,一般我们会采用反编译提取URL,就是安卓的apk文件里面涉及到的url,IP地址;第二种形式采用抓包获取URL,这种是建立在我们反编译逆向程序上去测试的,如果不采用逆向反编译的,就安装好apk程序之后,采用抓包程序,获取app里面涉及到的网站和IP信息,由于他涉及到url和ip,我们就可以从这里面转向到web测试,因为他这里面会涉及到网站协议相关的东西,我们在实战情况下,这两个方法都要采用避免部分的东西你没有看到,信息收集的不够全面,也会导致后期的问题

进行WEB应用测试,如不存在url、IP或走其他协议的情况下,app通常走网站协议,但是有部分app不会走网站协议,数据的传输、app的运行,他会走其它协议,这种情况下有些抓包工具就会束手无策,我们就需要采用网络接口的抓包工具来抓取,TCP的协议、UDP的协议,各种各样的协议他都抓,因为走的不是web协议,我们对它的渗透思路就是要转到其它的协议,那就是关于非web协议的安全测试该如何进行

#APP->WEB APP->其他 APP->逆向
#WEB抓包,其他协议抓包演示及说明
#未逆向层面进行抓包区分各协议测试
#逆向层面进行提取APK代码层面数据

案例演示:

抓包工具WEB协议面使用说明

BP是有相应的功能集中在上面,虽然它的抓包功能没有像Charles、Fiddler、抓包精灵工具那么好用,但是它上面集成的功能,可以让我们便捷的去测试,所以我们也会用到BP,考虑到BP的抓包工具不够全面,我们会优先使用Charles、Fiddler、抓包精灵工具,这三款工具是目前在市面上公开使用比较广的,Fiddler、抓包精灵是安装在手机这种移动端上面的,不是安装到我们电脑上面的

如果是其它协议的,我们就采用wireshark全能的抓包工具去抓

0x01.Burpsuite
尽可能地翻,不用管,尽可能的产生相关的数据包,多点数据包产生的越多
在这里插入图片描述
数据包都点完之后,我们就可以随便看一下数据包了,筛选出id的
在这里插入图片描述
找到域名之后,我们就可以对网站进行简单的访问和测试
在这里插入图片描述
0x02.Charles软件使用
charles抓包工具下载地址:https://www.charlesproxy.com/latest-release/download.do
我们使用这款工具的时候,不要跟BP冲突了
在这里插入图片描述
抓包前设置代理:“Proxy”"Proxy Settings…“填写HTTP代理的端口,这里监听8888
在这里插入图片描述
选择"Proxy”“Windows Proxy”,windows代理选中,这里就会监听到
在这里插入图片描述
我们看到数据包就出现了
在这里插入图片描述
这是我们刚才操作的数据包都有显示
在这里插入图片描述
这边把网站的目录架构都给展示出来了,这就相当于自动帮你做爬虫
在这里插入图片描述
这个打开出现404,APP里面涉及到的网站有相应的检测,具有唯一性,就是它只能在APP、手机端打开,对这个网站进行访问,手机客户端和电脑访问是有明确的区别的,这就是浏览器的内核不一样,你如果是用苹果那就是iso,数据包请求的时候明显就不一样,这就是为什么有些网站用手机和电脑打开就不一样的原因,这是因为网站有检测你是用什么客户端访问的,它检测到你是用电脑端访问的,就不让你看到信息,只允许手机,这个时候也可以通过在电脑上面伪造手机端去访问
在这里插入图片描述
这个是电脑访问的数据包
在这里插入图片描述
这个是手机访问的数据包,数据包的结构首先就不一样,浏览器信息也不一样,我们必须按照下面的数据包去请求才能访问到
在这里插入图片描述
在这里插入图片描述
利用扫描工具,设置里面,修改扫描的http头部信息或xray被动扫描都可以对目标进行扫描

Charles整体来说抓的比较全面,就是很清晰明了,涉及到域名,但是缺点是拓展性不强,仅仅只能看数据包

0x03.抓包精灵app使用
抓包精灵地址:https://github.com/huolizhuminh/NetWorkPacketCapture/releases/tag/1.0.4

Android抓包软件,可以安装到手机上,不需要过多设置,即可抓住手机上app产生的http/https包并自动解析,确定是只能看不能操作。
在这里插入图片描述
打开软件,点击右上角的箭头
在这里插入图片描述
使用需要抓包的app,产生大量数据包
在这里插入图片描述
回到抓包精灵,数据包分条显示,内容包括app的图标和进程

每个APP在开发的时候都会有兼容性问题,app开发多了,就会对安卓的兼容性变差
在这里插入图片描述
点开有详细信息
在这里插入图片描述
这个工具只抓APP的WEB协议

抓包工具非WEB协议面使用说明

有些app打开不走web协议的,那就只能用wireshark,不是web协议的,wireshark也能抓到,我们要区分app走的是不是web协议,从而判断是否进入下一步

选择要抓取的网络接口,由于手机模拟器使用的本机网络出口,所以这里抓取本机的网络出口,也就是“以太网”,显示的IP地址和本机的一致
在这里插入图片描述
软件左上方,红色方块表示暂停,蓝色鲨鱼鳍代表开始抓包,可以筛选

通过本地地址和远程地址的区别,来分析是不是APP的数据包
在这里插入图片描述
http的数据包也能抓到,只是比较麻烦,你需要自己进行筛选
在这里插入图片描述
选择一条数据,下方会显示数据包的内容

安卓逆向便捷APK一键提取URL演示

漏了个大洞

简介:一键提取安卓应用中可能存在的敏感信息。

用法:将所有app放到程序自动创建的apps目录,再运行主程序就好了,不用加参数。

功能:目前提取了APK内所有字符串、所有URLS、所有ip、可能是hash值的字符串、存在的敏感词(如oss.aliyun)、可能是accessKey的值。

ApkAnalyser工具下载地址:https://github.com/TheKingOfDuck/ApkAnalyser//releases/download/1.0/apkAnalyser.zip

将apk文件放在"apps"文件夹下
在这里插入图片描述
运行apkAnalyser.exe,会自动反编译apps里面的文件
在这里插入图片描述
程序会在“result”文件夹下创建以apk文件名命名的文件夹来存放反编译文件
在这里插入图片描述
文件夹中有“urls.txt”存放apk中涉及的网站,没有该文件则没有对应内容
在这里插入图片描述
这些网站可能就是跟APP套用的
在这里插入图片描述
建议逆向和抓包并用,综合获取的信息,因为多一个目标,相当于在测试的时候,多一条机会,多一条深入

逆向提取和抓包提取是两码事,一个是代码中寻找跟app挂钩的网站数据,还有一种是抓包里展示出来的东西,这两个是不一样的

利用Burp筛选及联动功能打出军体拳

因为有些从APP里面提取出来的目标,无法用web协议访问,这个时候可以用BP把app链接提取出来,然后给xray扫描,然后在转发给BP去访问,从而解决非web协议无法访问到的问题

模拟器四个违法案例APP安全分析测试

看似是APP,其实是网站,没有什么好讲的,只是app外面有个包装,你把他撕开就是那个情况

apk代码里面有个功能,但是这个代码功能并没有在安装app之后里面有这个触发,比如apk代码里面有数据库连接,但是这个数据连接并没有在app里面有这个触发,这个时候我们利用反编译改代码之后,就可以把它调用,让app在使用的时候调用这个代码

安卓逆向里面的代码基本上是java的,没有学过,看不懂代码是很难的,因为逆向基本上是会去修改代码,再把它打包,再把它编译,你懂开发,学了之后,你也看不懂

会安卓逆向出去吹吹牛也挺好的

涉及资源:

抓包精灵地址:https://github.com/huolizhuminh/NetWorkPacketCapture/releases/tag/1.0.4

ApkAnalyser工具下载地址:https://github.com/TheKingOfDuck/ApkAnalyser//releases/download/1.0/apkAnalyser.zip

xray与burp联动被动扫描参考文章:https://www.cnblogs.com/L0ading/p/12388928.html

wireshark下载地址:https://www.wireshark.org/download.html

charles抓包工具下载地址:https://www.charlesproxy.com/latest-release/download.do

apk数据提取下载:https://pan.baidu.com/s/1UGro7nQoBpT9vYRONsQi4w 提取码:xiao

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文阅读】Long-Tailed Recognition via Weight Balancing(CVPR2022)附MaxNorm的代码

目录 论文使用方法weight decayMaxNorm 如果使用原来的代码报错的可以看下面这个 论文 问题:真实世界中普遍存在长尾识别问题,朴素训练产生的模型在更高准确率方面偏向于普通类,导致稀有的类别准确率偏低。 key:解决LTR的关键是平衡各方面&a…

AutoMQ Kafka 云上十倍成本节约的奥秘(一): SPOT 实例

近年来,无论是海外还是国内,虽然受疫情影响,公有云的市场规模增速有所放缓,但是云的市场总规模仍然是持续增长的。公有云作为一个各个国家重点布局的战略方向和其本身万亿级市场的定位[1],我们学习用好云是非常有必要的…

彻底解决 MAC Android Studio gradle async 时出现 “connect timed out“ 问题

最近在编译一个比较老的项目,git clone 之后使用 async 之后出现一下现象: 首先确定是我网络本身是没有问题的,尝试几次重新 async 之后还是出现问题,网上找了一些方法解决了本问题,以此来记录一下问题是如何解决的。 …

网络地址相关函数一网打尽

这块的函数又多又乱,今天写篇日志,以后慢慢补充 1. 网络地址介绍 1.1 ipv4 1.1.1 点、分十进制的ipv4 你对这个地址熟悉吗? 192.168.10.100,这可以当做一个字符串。被十进制数字、 “ . ”分开。IP地址的知识就不再多讲…

关于MyBatis和JVM的最常见的十道面试题

ORM项目中类属性名和数据库字段名不一致会导致什么问题?它的解决方案有哪些? 在ORM项目中,如果类的属性名称和数据库字段名不一致会场导致插入、修改时设置的这个不一致字段为null,查询的时候即使数据库有数据,但是查…

Jenkins如何从GIT下拉项目并启动Tomcat

一、先添加服务器 二、添加视图 点击控制台输出,滑到最下面,出现这个就说明构建成功了,如果没有出现,说明构建有问题,需要解决好问题才能启动哦~

Python 九九乘法表的7种实现方式

Python 九九乘法表的7种实现方式 九九乘法表是初学者学习编程的必要练手题目之一,因此各种语言都有对应的实现方式,而 Python 也不例外。在 Python 中,我们可以使用多种方式来生成一个简单的九九乘法表。 实现方式一:双重循环 f…

使用 Node.js 和 Cheerio 爬取网站图片

写一个关于图片爬取的小案例 爬取效果 使用插件如下: {"dependencies": {"axios": "^1.6.0","cheerio": "^1.0.0-rc.12","request": "^2.88.2"} }新建一个config.js配置文件 // 爬取图片…

Android T 远程动画显示流程(更新中)

序 本地动画和远程动画区别是什么? 本地动画:自给自足。对自身SurfaceControl矢量动画进行控制。 远程动画:拿来吧你!一个app A对另一个app B通过binder跨进程通信,控制app B的SurfaceControl矢量动画。 无论是本地动画还是远程…

F5负载均衡有何技术优势?为你详细解读

当今数字化时代,网络应用的性能对于企业的成功至关重要。负载均衡建立在现有网络结构之上,提供了有效的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。F5负载均衡技术则成为了许多企业实现高可用性和高…

原生table样式

HTML <div><table style"width: 100%;"><thead><tr><th style"width:25%;">董事会</th><th style"width:25%;">监事会</th><th style"width:25%;">股东</th><th sty…

物理信息神经网络PINN2024最新改良方案汇总(含复现代码)

传统的数值方法在处理复杂问题时可能需要大量的计算资源和时间&#xff0c;而改良后的PINN可以通过更有效的算法减少计算成本&#xff0c;使得求解过程更加高效。 在写论文时&#xff0c;我们也可以通过改进PINN减少数据需求、加速模型收敛、提高预测准确性、增强可解释性&…

linux -- 内存管理 -- SLAB分配器

SLAB分配器&#xff08;slab allocator&#xff09; SLAB分配器用于小内存空间管理&#xff0c;基本思想是&#xff1a;先利用页面分配器分配出单个或多个连续的物理页面&#xff0c;然后再此基础上将整块页面分割为多个相等的小内存单元&#xff0c;来满足小内存空间分配的需…

kerberos+kafka(2.13)认证(单节点ubuntu)

一&#xff1a;搭建kerberos。 1. 运行安装命令 apt-get install krb5-admin-server krb5-kdc krb5-user krb5-config2. 检查服务是否启动。 systemctl status krb5-admin-server systemctl status krb5-kdcsystemctl start krb5-admin-server systemctl startkrb5-kdc3. 修…

网络安全知识和华为防火墙

网络安全 网络空间安全 ---Cyberspace 2003年美国提出的网络空间概念 ---一个由信息基础设施组成的互相依赖的网络。 我国官方文件定义&#xff1a;网络空间为继海、陆、空、天以外的第五大人类互动领域。 通信保密阶段 --- 计算机安全阶段 --- 信息系统安全 --- 网络空间安…

校园教学气象站是什么

TH-XQ3在当今社会&#xff0c;气象科学的重要性日益凸显。它不仅关系到农业、交通、航空等多个领域的安全&#xff0c;更对人类的生活产生深远影响。因此&#xff0c;许多学校纷纷开设气象学相关课程&#xff0c;帮助学生了解气象知识&#xff0c;培养他们的科学素养。而在这其…

【数据结构:顺序表】

文章目录 线性表顺序表1.1 顺序表结构的定义1.2 初始化顺序表1.3 检查顺序表空间1.4 打印1.5 尾插1.6 头插1.7 尾删1.8 头删1.9 查找1.10 指定位置插入1.11 删除指定位置数据1.12 销毁顺序表 数据结构(Data Structure)是计算机存储、组织数据的方式&#xff0c;指相互之间存在一…

termux 玩法(一)

termux基础 termux基础玩法推荐国光写的手册&#xff1a;Termux 高级终端安装使用配置教程 | 国光 (sqlsec.com) termux安装 个人使用F-Droid安装的termux&#xff1a;Termux | F-Droid - Free and Open Source Android App Repository 基础知识 这些基础知识简单了解一下…

HDFS Federation前世今生

一 背景 熟悉大数据的人应该都知道&#xff0c;HDFS 是一个分布式文件系统&#xff0c;它是基于谷歌的GFS实现的开源系统&#xff0c;设计目的就是提供一个高度容错性和高吞吐量的海量数据存储解决方案。在经典的HDFS架构中有2个NameNode和多个DataNode&#xff0c;如下 从上面…

【C/C++ 02】希尔排序

希尔排序虽然是直接插入排序的升级版本&#xff0c;和插入排序有着相同的特性&#xff0c;即原始数组有序度越高则算法的时间复杂度越低&#xff08;预排序机制&#xff09;&#xff0c;但是是不稳定排序算法。 为了降低算法的时间复杂度&#xff0c;所以我们需要在排序之前尽…