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(代理)配置
  2. 打开后正常应该是啥也没有,点击右边的Add,新增一个代理
  3. Address和Port填写我们刚刚BurpSuite上配置的代理地址与端口,Protocol(协议)我们选择HTTPS,其它不需要填写。
  4. 点击保存,代理就配置好了,我们会在后面的Rules中用到它。

在这里插入图片描述

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

  1. 点击左下角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上愉快的抓包啦~ 如果你看完了文章,我相信你应该也明白我们到底配了什么东西,他们的作用是什么,并且让你去配个其它应用的流量抓包,也不会有什么问题的。

二.关于网络安全资源

网络安全是当今信息时代中非常重要的一环。无论是找工作还是感兴趣,都是未来职业选择中上上之选,为了保护自己的网络安全,学习网络安全知识是必不可少的。

如果你是准备学习网络安全或者正在学习,下面这些你应该能用得上:

①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

一、网络安全学习路线

网络安全(黑客)学习路线,形成网络安全领域所有的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、网络安全教程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。


三、网络安全CTF实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这里带来的是CTF&SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

四、网络安全面试题

最后,我们所有的作为都是为就业服务的,所以关键的临门一脚就是咱们的面试题内容,所以面试题板块是咱们不可或缺的部分,这里我给大家准备的就是我在面试期间准备的资料。

网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。

机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!

全套网络安全学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值