第41天:Web开发-JS应用微信小程序源码架构编译预览逆向调试嵌套资产代码审计

server/2025/2/13 19:10:08/
#知识点

1、安全开发-小程序>微信小程序-搭建&开发&架构&安全

2、安全开发-小程序>微信小程序-编译调试&反编译&泄露

一、小程序创建(了解即可)

1、下载微信开发者工具

2、创建小程序模版引用

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

二、小程序架构

1、主体结构

小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。

一个小程序主体部分(即app)由三个文件组成,必须放在项目的根目录,如下:

文件 必需 作用->反编译成功后,这些关键文件重点关注查看

app.js 是 小程序逻辑

app.json 是 小程序公共配置

app.wxss 否 小程序公共样式表

2、一个小程序页面由四个文件组成,分别是:

xxx.js 页面逻辑

xxx.json 页面配置

xxx.wxml 页面结构

xxx.wxss 页面样式

3、项目整体目录结构

pages 页面文件夹

index 首页

logs 日志

utils

util 工具类(mina框架自动生成,你也可建立:api)

app.js 入口js(类似于java类中的main方法)、全局js

app.json 全局配置文件

app.wxss 全局样式文件

project.config.json 跟你在详情中勾选的配置一样

sitemap.json 用来配置小程序及其页面是否允许被微信索引

三、小程序开发(了解即可)

1、可视化

2、真机调试

3、编译预览

4、NPM编译

案例1:小程序中嵌套Web应用资产 ->作用:对小程序抓包测试时->可以抓到网站信息->将小程序测试转向web测试

直接将以下代码放到小程序某个文件中即可

<web-view src="http://www.xiaodi8.com"></web-view>

案例2:嵌套第三方云服务如OSS ->作用:对小程序反编译后->代码审计发现敏感信息AK、SK

如代码审计发现->阿里云OSS存储-AK/SK->直接利用oss渗透工具接管oss

四、小程序安全->测试思路

1、逆向反编译->获取源码->代码审计->信息泄露&url&接口等

2、敏感信息泄露(AK/SK,APIKEY等)

3、资产信息提取(IP,Web应用,url等)

4、代码逻辑安全(算法,提交接口等)->有些地方有加密算法->在测试时找到加密逻辑->进行算法还原也很重要

参考:第24天课程演示->以下工具介绍如何对小程序进行“反编译”操作

https://github.com/r3x5ur/unveilr

https://github.com/Ackites/KillWxapkg

https://github.com/biggerstar/wedecode

https://github.com/eeeeeeeeee-code/e0e1-wx ->推荐使用

五、实例文章

https://mp.weixin.qq.com/s/z28ppqhNJnLVWSScMEqiuw->价值高

https://mp.weixin.qq.com/s/ZfovaAyipqzUIYdL9objPA->目前理解起来有点难度

https://mp.weixin.qq.com/s/PK1NhvdrDr3XWEliuyEiig


http://www.ppmy.cn/server/167402.html

相关文章

MongoDB 基本操作

一、数据库操作 1. 切换或创建数据库 使用use命令切换到指定数据库&#xff0c;若该数据库不存在&#xff0c;在首次插入数据时会自动创建。 use myDatabase 2. 查看所有数据库 使用show dbs命令查看 MongoDB 实例中的所有数据库。 show dbs 3. 删除当前数据库 使用db.…

[python SQLAlchemy数据库操作入门]-25.股票数据可视化:将 SQLAlchemy 数据呈现给用户

哈喽,大家好,我是木头左! 本文将探讨如何利用SQLAlchemy从数据库中提取股票数据,并使用现代数据可视化工具将这些数据以直观的方式呈现给用户。将通过一系列步骤来演示这个过程,包括设置环境、连接数据库、提取数据、处理数据以及最终的可视化展示。 安装必要的库 接下来…

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;六级&#xff09; 一、单选题(共25题&#xff0c;共50分) 1.下面代码的输出结果正确的是?(B) import json json_str [ "Alice", "girl", 17,"New York"] data json.loa…

高效便捷Java代理技术:轻松实现Web集成

一、什么是代理 在 Java 开发中&#xff0c;Java代理&#xff08;Proxy&#xff09;是Java编程语言中一个非常重要的概念&#xff0c;通过引入一个代理类来间接访问目标对象&#xff0c;在不修改原有目标类代码的前提下&#xff0c;增加或修改目标类的行为&#xff0c;将复杂的…

信息科技伦理与道德3-3:智能决策

2.3 智能控制 智能控制算法介绍 智能控制算法的优化&#xff1a;性能提升的秘诀 https://blog.csdn.net/universsky2015/article/details/137309308 案例一&#xff1a;特斯拉自动驾驶汽车未能识别白色卡车导致车祸

React 中的 useMemo 和 useCallback 有什么区别?

useMemo 和 useCallback 是 React 中的两个 Hook,主要用于性能优化,但它们的用途和工作方式有所不同。以下是它们之间的主要区别: 1. useMemo 用途:用于记忆计算值。它可以避免在每次组件渲染时重新计算一个值,只有当依赖项发生变化时,才会重新计算。 返回值:返回缓存的…

网络安全—DDoS攻防

背景简述&#xff1a;DDoS攻击分为很多类型&#xff0c;有消耗网络带宽的流量攻击&#xff0c;有消耗服务器资源的应用层攻击等。影响巨大&#xff0c;且让无论大公司还是小公司都肃然“起敬”的当属&#xff1a;流量攻击。在流量越来越廉价的今天&#xff0c;攻击流量小则几百…

将Markdown格式文件与word文件相互转化方法

不多说直接上方法 下载Writage软件 Writage是一款word插件&#xff0c;下载网址为&#xff1a;http://www.writage.com/。 下载之后直接安装即可。 安装之后在使用word打开和使用word软件另存为的时候就出现Markdown格式了