小程序架构分析:逻辑层与视图层的深度解析及其相较于APP的优势

2025-02-28
来源:网络整理

0x01预知为什么要使用小程序?

与应用程序,迷你程序相比:

0x02建筑分析

整个小程序框架系统分为两个部分:“逻辑层”(APP)和“视图层”。 提供了自己的视图层说明语言WXML和WXSS以及逻辑层框架,并在视图层和逻辑层之间提供数据传输和事件系统,从而使开发人员可以专注于数据和逻辑。

视图层用WXML和WXSS编写,并通过组件显示。将逻辑层的数据反映到视图中,并将视图层的事件发送到逻辑层。

逻辑层的主要组件是:app.js,app.json,js文件,JSON配置文件等。因此,这些是测试过程中分析的主要对象。

0x03常见的穿透程序捕获软件包

首先,我们引入了一种常规方法。在这里,我们谈论的是将微信小程序的流量转发到文章的流量(文章的所有工具)(首先确定可以从普通网页捕获数据包))

配置

设置代理服务器

与代理集相同

设置代理规则

WeChat.exe;WeChatAppEx.exe;WeChatPlayer.exe;WechatBrowser.exe;WeChatAppEx*.exe

上面的配置不仅可以从迷你程序中捕获数据包,还可以从内置微信浏览器中捕获数据包。

源代码解密和提取定位

首先确定源代码位置,然后单击“设置 - 文件管理”

单击以输入文件夹,而的文件夹以wx is开头

所有小程序的文件夹都在此文件下加载。您可以在此文件夹中以WX开头删除文件,然后重新加载,该文件是由加密的文件。

解密

使用该工具选择需要解密的程序包(在这里您必须使用原始目录来选择它)。解密完成后,将在工具目录中生成解密文件:

反编译

应用程序抓包工具_开源抓包工具_小程序开发者工具抓包

通过解编码获取源代码。这里有很多工具。我使用它将解密的文件放入工具目录中,然后单击以使用:

解密后,您可以使用“迷你程序开发工具”打开它。使用此功能的很大一部分是运行和调试分解源代码。但是,在测试我的测试后,源代码丢失了,很少有人可以运行,因此可以使用哪种工具来打开它。只要您可以在全球范围内搜索,就可以查看它。

如果不能运行它,如果仅依赖静态分析,则遇到算法分析将是令人头疼的,除了大个子,因此应建议使用以下方法。

小程序调试模式的原则

简而言之,这意味着将Mini程序的窗口用作浏览器,而F12调用开发人员工具进行动态调试。请注意,此方法可能有禁止帐户的风险,请使用一个小帐户对其进行测试!呢呢。该实现方法通过连接某个信号偏移地址来启用调试模式,因此不同版本的偏移地址不同。当前支持的版本如下:

的微信版是最新版本吗?

3.9.9。

3.9.8。

3.9.8。

3.9.8。

3.9.8。

3.9.8。

3.9.8。

如果版本已更新,则偏移地址将更改。大师可以关注 @官网并学习如何找到不同版本的偏移地址。我不会在这里提供太多的介绍。

注意:如果小程序禁用调试模式,则此方法不应用。

怎么吃

下载项目 - ( @和 @ 提供的解决方案和工具),安装依赖项:

pip3 install -r requirements.txt

打开迷你程序F12运行

python main.py -x

打开内置的微信浏览器F12抓住数据包

python main.py -c

0x04实际情况1:敏感信息

这部分通常表明许多小程序文章被泄漏(AK/SK),但是2022年6月后,开发工具支持检测此敏感信息

如果遇到此类云键泄漏,则可以直接使用这些工具:

开源抓包工具_应用程序抓包工具_小程序开发者工具抓包

此外,您可以收集一些信息,,,键,也可以编写脚本以使用常规匹配接口。遍历数据后,可能会发生意外影响。

案例2:密码弱

测试多个小程序时,您会发现您捕获的域名可以直接在浏览器中打开。如果测试小程序没有进展,您可以尝试从这个方向取得突破:

此案是在公共测试中遇到的。我发现图形验证代码已重复使用,当我忘记密码时包括用户枚举。我成功列举了测试手机号码,并继续爆炸密码并成功进入了背景:

案例3:未经授权的访问

从迷你程序开始的公共测试案例,捕获的域名是:

我抓住了袋子,登录后更换了袋子,并试图反复战斗,但毫无结果:

域名可通过浏览器直接访问,它是空白的。无论如何剪接所获得的路径,它仍然是空白的。但是,发现尽管没有加载数据,但已加载了网站:

目前,我直接运行了新获得的路径和G,但是仍然没有人可以正常访问:

to and the data , and find a name in the -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

我直接访问,并由WAF提示为405,但我发现它是使用7x24客户服务编写的,因此我添加了以下QQ:

我在几秒钟内通过,试图问,但我没想到会真正回复我!呢呢后来对我说的答复是:该网站已经制定了安全策略,只能通过XX省访问:

修改XX省中的IP,重复上述步骤,然后将其发送到Soul#/,然后找到一个测试用例页面。我不会把图片放在其中。我可以操作并查看系统的所有数据。

提示:如果您找到未经授权的接口,则有任何文件下载。目前,您可以划分两个漏洞并获得两个排名:

0x05完成

还有其他迷你程序案例,与Web渗透测试过程没有什么不同,因此我不会详细介绍太多。当我在渗透过程中遇到有趣的情况时,我会与您分享

参考:

免责声明:该官方帐户的内容仅用于法律,合法和健康的目的,不得用于违反法律和法规的行为。该官方帐户将对任何法律责任或纠纷不承担任何责任。感谢您的理解与合作!

分享