macOS小程序抓包,知其然,并知其所以然

我在挖小程序漏洞时,抓包用的工具也是用的和Windows一样,Proxifier + BurpSuite,这算是比较常规的工具了吧,我看网上教程也挺多的,但是有一些已经过期了,我这里分享一下我的配置流程吧。

同时我也会简单解释一下我们在Proxifer中用到的一些模块的功能与使用,别只会跟着教程一通乱配,自己做了什么也不知道。

0x00 环境

按照惯例,先说明硬件与软件环境:

  • • 硬件:MacbookPro M1 Pro版本

  • • 操作系统:MacOS Monterey 12.3

  • • Proxifier版本:Proxifier for Mac 3.11

  • • Burpsuite版本:Burp Suite Community Edition Version 2024.5.4

  • • 微信版本:Version. 3.8.6 (28078)

0x01软件准备

Proxifier直接官网下载:https://www.proxifier.com,第一次使用的话有31天免费试用,至于到期后要怎么处理,这我就不管了(自行网上搜索)。

其它软件下载就不多说了,相信大家都懂。

0x02 配置

BurpSuite配置

BurpSuite没啥好配的,就配一个代理端口就行了,这个应该也都懂,这里我配置的是8080端口。

Proxifer配置

了解

在配置之前,我想先简单解释一下它常用的两个模块是干什么的,怎么运行的,这样我们才知道配了些啥玩意,有什么作用。

我们最主要用到它的两个模块,Proxies和Rules。

Proxies,它其实和BurpSuite的代理模块有点像,就是我们可以创建多个代理服务,并为每一个代理服务指定它的目标地址。

Rules,看名字就知道,规则。它的作用也很简单,我们可以配置N条规则,在每一条规则中,都可以指定某一些应用,将这些应用的指定流量(或所有流量),转发到目标地址,或者是转发到Proxies配置的代理服务上去。

就像这样:

简单了解一下概念之后,就开始配置吧~ 在配置过程中再详细解释对应的功能介绍。

代理配置

    1. 打开Proxifer后,首页右边打开Proxies(代理)配置
    1. 打开后正常应该是啥也没有,点击右边的Add,新增一个代理
  1. 3. Address和Port填写我们刚刚BurpSuite上配置的代理地址与端口,Protocol(协议)我们选择HTTPS,其它不需要填写。

  2. 4. 点击保存,代理就配置好了,我们会在后面的Rules中用到它。

规则配置

    1. 首页右边,点击Rules(规则)配置
  1. 2. 正常来说,默认应该只有2条规则,一个Localhost规则,用于转发本地回环地址的,一个Default,默认规则。

  2. 3. 点击左下角Add,新增一条规则,我们来配置微信应用的转发规则如下:

配置说明

Name

是我们规则的名称,这个不细说,随便写,自己认识就可以了。

Applications

这个是配置我们这条规则对应的应用程序,我们希望转发小程序的应用,因此需要配置微信小程序的应用,在MacOS上一般是下面这三个:

WeChatAppEx Helper.app  
WeChatAppEx Helper  
com.tencent.xinWeChat.WeChatAppEx.helper

那怎么找到这三个应用呢?

正常来说,他们的目录分别是在:

/Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app/Contents/MacOS/WeChatAppEx  
/Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app/Contents/Frameworks/WeChatAppEx Framework.framework/Versions/C/Helpers/WeChatAppEx Helper.app/Contents/MacOS/WeChatAppEx Helper  
/Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app/Contents/Frameworks/WeChatAppEx Framework.framework/Versions/C/Helpers/WeChatAppEx Helper.app

但是如果没有怎么办?我们可以在终端使用命令搜索:

sudo find /Applications -name "*WeChatAppEx*"

找到应用地址之后,点击Application右下方的加号,选择这三个微信相关的程序即可。

在使用finder选择程序时,可以通过 快捷键 Shift + command + G 来直接跳转到指定目录

Target Hosts

配置目标Host过滤器,即我们配置的应用程序,在访问哪些目标地址时,才需要应用这条规则。我们这里需要小程序所有的流量都走代理,所以不用改,保持空(Any)即可。

Target Port

同上,哪些端口需要走代理,也是保持空(Any)即可。

Action

这是配置这条配置最终的行为,也就是上面应用程序也匹配了,目标域名和端口都匹配了,那这个请求应该怎么处理?我们这里选择我们上面配置的Proxy服务,也就是这条规则匹配成功时,需要将请求转发到对应的IP和端口,即我们的BurpSuite代理上。

还有其它两个选项Direct、Block,Direct即直连,请求不作任何处理,直接请求原始地址;Block即阻断,直接阻断这个请求。

规则顺序

配置完成之后,加上原来的那两条默认规则,这样我们就有3条规则了。需要调整一下规则顺序,将微信的规则放在中间,像这样:

我们上面有说到过,应用程序的请求会经过所有的规则,规则的执行顺序是从上到下的。所以我们需要先走Localhost规则,所有的本地回环地址的请求不做转发。最后走Default规则,除微信外的其它应用流量不做转发。

思考题:如果微信规则在Localhost规则的上面或者在Default的下面会有什么问题?

0x03

到这基本上就配置完成了,重启一下微信之类的,应该就可以在MacOS上使用BurpSuite上愉快的抓包啦~ 如果你看完了文章,我相信你应该也明白我们到底配了什么东西,他们的作用是什么,并且让你去配个其它应用的流量抓包,也不会有什么问题的。


为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

网络安全资源分享

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

【点击免费领取】CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。【点击领取视频教程】

在这里插入图片描述

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取技术文档】

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取书籍】

在这里插入图片描述

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

在这里插入图片描述

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

👋全套《黑客&网络安全入门&进阶学习资源包》👇👇👇

这份完整版的学习资料已经上传CSDN,也可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

img

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
macOS上,Qt可以通过调用framework库接口来实现各种功能。下面是一个简单的示例,演示如何在Qt应用程序中调用macOS的CoreLocation framework库来获取当前位置信息。 首先,在.pro文件中添加以下代码: ``` macx: LIBS += -framework CoreLocation ``` 然后,在Qt应用程序中,可以通过以下方式来调用CoreLocation库接口: ```c++ #include <QCoreApplication> #include <QGeoPositionInfo> #include <QGeoPositionInfoSource> #include <QGeoSatelliteInfo> #include <QGeoSatelliteInfoSource> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QGeoPositionInfoSource *source = QGeoPositionInfoSource::createDefaultSource(nullptr); if (source) { QObject::connect(source, &QGeoPositionInfoSource::positionUpdated, [&]() { const QGeoPositionInfo position = source->position(); const QGeoCoordinate geoCoord = position.coordinate(); qDebug() << "Latitude:" << geoCoord.latitude() << "Longitude:" << geoCoord.longitude(); source->stopUpdates(); app.quit(); }); QObject::connect(source, &QGeoPositionInfoSource::error, [&]() { qDebug() << "Error: " << source->errorString(); source->stopUpdates(); app.quit(); }); source->startUpdates(); } else { qDebug() << "No position source available"; app.quit(); } return app.exec(); } ``` 这里使用了Qt的位置服务模块,通过调用QGeoPositionInfoSource::createDefaultSource()方法获取当前位置信息,然后使用QGeoCoordinate::latitude()和QGeoCoordinate::longitude()方法获取经纬度信息。如果获取位置信息失败,则通过QGeoPositionInfoSource::error()信号获取错误信息。 需要注意的是,在macOS上,CoreLocation库只能在64位模式下使用。因此,在Qt应用程序中,也需要使用64位模式来编译和运行程序。 希望这个示例对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全技术库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值