漏洞发现-APP应用之漏洞探针类型利用修复
一、思维导图:
思路说明:
apk反编译提取URL或抓包获取url,进行web应用测试,如不存在或走其他协议的情况下,需采用网络接口抓包进行数据获取,转至其他协议安全测试!
apk测试主要分为三个方向:
apk->WEB; apk->其他; apk->逆向
二、抓包工具
抓取http/https协议下的抓包工具:
一)、burpsuite工具
模拟器设置代理:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SClLlMHN-1681375526673)(https://gitee.com/qweerq/mark/raw/master/1/202304131105320.png)]
优点提供了抓包历史记录,以及筛选出指定文件:
缺点抓包的不全面。
打开和妹妹吃西瓜聊天的app,登录后随便点一点,看一看,尽可能多获取数据包。
筛选带xml的文件:
网站访问域名:app.showlive.live
可以看到网站和app是一样的。
存在注入点,被waf拦截。
二)、茶杯charles工具
Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。
在做测试的时候,特别是对APP做弱网测试,使用 Charles 比较多,但是该软件是收费的。
快速下载地址(包含破解文件):https://fenxiangdayuan.lanzoux.com/ixZxghllc9a
破解文件介绍地址:https://blog.zzzmode.com/2017/05/16/charles-4.0.2-cracked/
1、Charles 抓取 pc 端 https 请求
在 pc 端想要抓取 https 的请求,需要先在本地安装 Charles 的证书,操作步骤如下:
-
点击Charles 的 help 菜单,安装ca证书
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xF08ZGJN-1681375526676)(%E6%BC%8F%E6%B4%9E%E5%8F%91%E7%8E%B0app.assets/Charles-ca-1.png)]
2.这个时候弹出安装提示,点击安装证书
3.选择本地计算机,下一步:
4.选择证书存储的位置,一定要选择受信任的根证书颁发机构
5.下一步,即可导入完成
2、Charles 抓取手机端 https 请求
想要抓取手机端的 https 同样需要安装证书,在手机端证书之前,需要先将手机和电脑连接在同一个局域网。
然后在手机的 WLAN 中设置代理,代理的host 设置为电脑的 ip, 端口设置Charles 代理设置中的端口,如下:
设置成功后,Charles 会有个提示,点击同意即可。
然后就是安装手机端的证书了,如下:
1.同样点击Charles菜单 help 安装手机端证书
2.选择后,会弹出如下提示,需要在手机端访问这个地址:chls.pro/ssl
[
3.手机端浏览器输入:chls.pro/ssl, 接着就会弹出证书安装的提示了,命名后同意安装即可:
[
安装成功后,我们就可以抓取手机端的 https 请求了。
安装详情:
Charles抓包工具(破解版) - 小葛师兄 - 博客园 (cnblogs.com)
3、Charles 主要的功能包括:
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
4、工具导航栏
转载参考连接:
Charles 功能介绍和使用教程 - 掘金 (juejin.cn)
Charles 顶部为菜单导航栏,菜单导航栏下面为工具导航栏。菜单导航栏下面为工具导航栏。视图如下图所示:
工具导航栏中提供了几种常用工具:
- :清除捕获到的所有请求
- :红点状态说明正在捕获请求,灰色状态说明目前没有捕获请求。
- :灰色状态说明是没有开启网速节流,绿色状态说明开启了网速节流。
- :灰色状态说明是没有开启断点,红色状态说明开启了断点。
- :编辑修改请求,点击之后可以修改请求的内容。
- :重复发送请求,点击之后选中的请求会被再次发送。
- :验证选中的请求的响应。
- :常用功能,包含了 Tools 菜单中的常用功能。
- :常用设置,包含了 Proxy 菜单中的常用设置。
刚刚抓取到的apk数据包:
域名网站登录:无法登录
原因判断你为电脑端访问,被服务端端给拒绝了。
电脑登录数据包与apk登录数据包对比:
修改数据包为apk尝试访问:
然后可以利用扫描工具,设置里面,修改扫描的http头部。
三)、抓包精灵-工具
Android上的抓包软件,可以安装到手机上,不需要过多设置,即可抓住手机上app产生的http/https包并自动解析,确定是只能看不能操作。
地址:https://github.com/huolizhuminh/NetWorkPacketCapture/releases/tag/1.0.4
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FjxMsudx-1681375526683)(https://gitee.com/qweerq/mark/raw/master/1/202304131502336.png)]
四)、Fiddler抓包工具
五)、Wireshark全部抓包
其他的抓包软件可能只会抓HTTP比较鸡肋,可以用Wireshark捕获网络接口。各种协议都有了。只有经过接口的流量都抓取。
选择接口:
三、安卓逆向便捷APK一键提取URL演示
这里要说的是 APK的逆向提取URL跟 用抓包工具获得的URL是两码事,逆向只是把源代码中涉及网址的字符给提取出来,而具体抓包调用的接口跟这个不太一样,所以测试的时候不要省事,两个工作都要做。
用逆向提取工具提取进行提取:
运行工具:
打开目录下的urls,下面是apk涉及到的网站
四、xray与burp联动被动扫描
Xray是一款功能强大的安全评估工具,支持主动、被动多中扫描方式,支持常见web漏洞的自动化测试,可以灵活定义POC,功能丰富,调用简单,支持多种操作系统
下载地址:https://xray.cool/
1、先管理员打开powershell,使用webscan 监听6666端口。
./xray_windows_amd64.exe webscan --listen 127.0.0.1:6666
选择监听本地6666端口
在burp里设置:
模拟器配置代理连接到burp:
结果就是流量通过burp在转发xary上。
Xray开始接收到流量开始漏洞扫描,
可以解决xary需要一个个添加的。
抓取https流量
如果需要抓取https流量则需要brup以及xray都安装https证书。
详情请访问
brup安装证书抓取https
https://www.cnblogs.com/L0ading/p/12388835.html
xray安装证书进行http以及https扫描
https://www.cnblogs.com/L0ading/p/12388850.html