app概述

引入

用过bp都知道,请求包有一个User-agent,此代表客户端浏览器信息;

而当用手机浏览器和PC浏览器访问同一个内容时,会有所不同。

手机一般是,跳转到 m.example.com,PC,跳转到 example.com

这个就是代码去判断UA,然后响应出相应的页面。

对于渗透人员,bp毕竟是电脑上的,遇到app的站点,要将它显示到PC浏览器上嘞,直接访问吗?

答:有可能会出错,一般不直接访问;正确做法是,bp捕捉到app的请求包,然后复制它的UA标识,在PC浏览器上利用该UA发送即可。

那么基于这种情况,web方面不好渗透,就可以转战app,下面介绍app抓包工具

抓包工具

web协议:

Charles:每一次的功能点击,都会有所记录,可以看到app的整个结构;数但是数据包多了,需要人工筛选

Fiddle:app设置好代理(ip地址是内网哈)后,fiddle只用监听端口就好了,然后看看

burpsuite:没得说

小程序同理,电脑应用同理;当然啊,抓的都是web协议的包,http或https

其他协议怎么讲?

wireshark用过吧,各种协议都欧克;还有一个叫科来的,一个界面美观,内容丰富的分析系统

封包

当我们需要对app或应用程序进行抓包时,它很少有web协议的情况,那么就需要用科来或者封包工具

拿个简单的例子,在游戏程序里,控制一个角色的移动,这个会话一般是TCP协议。

好好好,我渗透是要拿网站的,我跟你搞这个?

呐,已经找到这个会话了,那就知道ip了,只不过是这个自定义端口上,是TCP协议;那枚举端口嘛,端口上还有服务,展开来嘛。

抓包,我们说是 零散的,游戏的一个操作,会被拆分成若干个数据包;

封包,这个主要是针对游戏,通过WPE软件工具,选择要操作的进程,去截取该进程中的一段动作啊、记录等等。再通过 发送 功能,向服务器发送这一段 封包,达到该动作、记录的重复。外挂、游戏测试一般都会用到,还有反封包重发,暂时未学

展示

老版步骤

将代理机器人apk(proxydroid)移植到模拟器中,本机有CCproxy,WPE工具

原理: 流量经过apk->ccproxy->wpe监听cc进程 实现封包抓包

首先在apk设置好代理,协议类型是Socks5,CCproxy监听,WPE选择CCproxy进程,开始;然后模拟器进入游戏,WPE这边就可以抓到包,去寻找一些发送的包,进行重复发送,看是否能得到效果

新版

就一个工具,集合了

总结

抓包的目的是为了分析,可以修改请求包,查看响应包,了解整个发送-响应的流程

抓包对象:web、app、小程序、应用软件

抓包协议工具:http(s)工具3个;其它协议,wireshark/科来

封包与封包:抓包就是抓的零散的一个包;封包是抓的完成一个动作或记录的所有包

app资源提取

上面的抓包,封包,都是拿的外在的东西(交互点),内在(代码部分)用什么工具呢?

内在的信息提取->用到AppInfoScanner脚本

xposed模块->脱壳

脱壳后反编译->安卓修改大师

如果一个app,有会员观看次数限制为10,那 反编译 之后,去找到这个初始次数限制的值,修改为100,重新编译,打包(签名),再看能否修改成功

或者仅仅修改模拟器手机的 机型,可能会重置这个观看次数,相当于一个新设备

总结

外在->抓包/封包->对交互点测试

资产收集->资源提取->ICO/MD5/HASH->用fofa等搜索

内在->反编译->java代码->代码审计

反编译->提取RES资源->fofa搜索

安卓逆向

安卓的漏洞点:

1.APP客户端

2.APP与服务器的交互点

对于越权、支付、SQL注入等,需要经过大量篡改进行测试,但是由于通信数据包是加密的,所以需要借助安卓逆向解密,对通信数据包解密

你比如,bp上抓到了这个app请求,但是呢,数据是base64加密,你解密完了还是乱码,所以还是要在app将流量转发到bp之前就进行解密,这样bp获得的是解密完的正常数据

难点在于,关键代码的定位,那就是反编译,把源代码下载下来,去进行搜索,但是比较麻烦

如果是用了Frida的Hook.js,就可以使得在app某些弹窗出现的时候,hook弹窗可以定位关键代码

Frida

动态二进制插桩工具,可以去获取到安卓进程,解密app数据

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2025 是羽泪云诶
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信