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

#知识点

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.mzph.cn/pingmian/69649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Arduino 第十一章:温度传感器

Arduino 第十一章&#xff1a;LM35 温度传感器 一、LM35 简介 LM35 是美国国家半导体公司&#xff08;现德州仪器&#xff09;生产的一款精密集成电路温度传感器。与基于热力学原理的传统温度传感器不同&#xff0c;LM35 能直接将温度转换为电压输出&#xff0c;且输出电压与…

Oracle常用导元数据方法

1 说明 前两天领导发邮件要求导出O库一批表和索引的ddl语句做国产化测试&#xff0c;涉及6个系统&#xff0c;6千多张表&#xff0c;还好涉及的用户并不多&#xff0c;要不然很麻烦。 如此大费周折原因&#xff0c;是某国产库无法做元数据迁移。。。额&#xff0c;只能我手动导…

2022java面试总结,1000道(集合+JVM+并发编程+Spring+Mybatis)的Java高频面试题

1、面试题模块汇总 面试题包括以下十九个模块&#xff1a; Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示…

Curser2_解除机器码限制

# Curser1_无限白嫖试用次数 文末有所需工具下载地址 Cursor Device ID Changer 一个用于修改 Cursor 编辑器设备 ID 的跨平台工具集。当遇到设备 ID 锁定问题时&#xff0c;可用于重置设备标识。 功能特性 ✨ 支持 Windows 和 macOS 系统&#x1f504; 自动生成符合格式的…

carbon 加入 GitCode:Golang 时间处理的 “瑞士军刀”

在 Golang 的开发生态中&#xff0c;时间处理领域长期存在着诸多挑战。高效、精准的时间处理对于各类软件应用的稳定运行与功能拓展至关重要。近日&#xff0c;carbon 正式加入 GitCode&#xff0c;为 Golang 开发者带来一款强大且便捷的时间处理利器&#xff0c;助力项目开发迈…

算法学习--链表

引言&#xff1a;为什么进行链表的学习&#xff1f; 考察能力独特&#xff1a;链表能很好地考察应聘者对指针操作、内存管理的理解和运用能力&#xff0c;还能检验代码的鲁棒性&#xff0c;比如处理链表的插入、删除操作时对边界条件的处理。数据结构基础&#xff1a;链表是很多…

域名劫持原理与实践

了解域名及域名劫持 由于点分十进制的IP地址难于记忆&#xff0c;便出现了域名。由于网络传输中最终还是基于IP&#xff0c;所以必须通过一种机制将IP和域名一一对应起来&#xff0c;这便是DNS。全球总共有13台根域名服务器。 域名劫持是互联网攻击中常见的一种攻击方式&…

【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第二部分:(训练硬件)基础设施

论文原文链接&#xff1a;DeepSeek-V3/DeepSeek_V3.pdf at main deepseek-ai/DeepSeek-V3 GitHub 特别声明&#xff0c;本文不做任何商业用途&#xff0c;仅作为个人学习相关论文的翻译记录。本文对原文内容直译&#xff0c;一切以论文原文内容为准&#xff0c;对原文作者表示…

MapReduce到底是个啥?

在聊 MapReduce 之前不妨先看个例子&#xff1a;假设某短视频平台日活用户大约在7000万左右&#xff0c;若平均每一个用户产生3条行为日志&#xff1a;点赞、转发、收藏&#xff1b;这样就是两亿条行为日志&#xff0c;再假设每条日志大小为100个字节&#xff0c;那么一天就会产…

Error: llama runner process has terminated: exit status 0xc0000409 问题解决办法

在大模型部署过程中&#xff0c;格式转换环节若使用了高版本的 llama.cpp 库&#xff0c;而系统当前运行的版本较低&#xff0c;就会出现版本不兼容的情况。 这种不匹配会阻碍模型的正常运行&#xff0c;进而导致报错。建议你密切关注模型所需的版本要求&#xff0c;及时将系统…

代码随想录-训练营-day20

今天我们继续回溯&#xff1a; 39. 组合总和 - 力扣&#xff08;LeetCode&#xff09; 这个题和我们之前的组合题相比&#xff0c;最大的区别在于我们可以无限次的重复取用某值了&#xff0c;这就让我们的递归参数与之前不同&#xff0c;除此之外&#xff0c;本质上这个题与21…

ubuntu 本地部署deepseek r1 蒸馏模型

本文中的文件路径或网络代理需要根据自身环境自行删改 一、交互式chat页面 1.1 open-webui 交互窗口部署&#xff1a;基于docker安装&#xff0c;且支持联网搜索 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台&#xff0c;旨在完全离线操作。它支持各种 LLM…

数据库 绪论

目录 数据库基本概念 一.基本概念 1.信息 2.数据 3.数据库&#xff08;DB&#xff09; 4.数据库管理系统&#xff08;DBMS&#xff09; 5.数据库系统&#xff08;DBS&#xff09; 二.数据管理技术的发展 1.人工管理阶段 2.文件系统阶段 3.数据库系统阶段 4.数据库管…

数据中台是什么?:架构演进、业务整合、方向演进

文章目录 1. 引言2. 数据中台的概念与沿革2.1 概念定义2.2 历史沿革 3. 数据中台的架构组成与关键技术要素解析3.1 架构组成3.2 关键技术要素 4. 数据中台与其他平台的对比详细解析 5. 综合案例&#xff1a;金融行业数据中台落地实践5.1 背景5.2 解决方案5.3 成果与价值 6. 方向…

【DeepSeek】DeepSeek概述 | 本地部署deepseek

目录 1 -> 概述 1.1 -> 技术特点 1.2 -> 模型发布 1.3 -> 应用领域 1.4 -> 优势与影响 2 -> 本地部署 2.1 -> 安装ollama 2.2 -> 部署deepseek-r1模型 1 -> 概述 DeepSeek是由中国的深度求索公司开发的一系列人工智能模型&#xff0c;以其…

如何使用C++将处理后的信号保存为PNG和TIFF格式

在信号处理领域&#xff0c;我们常常需要将处理结果以图像的形式保存下来&#xff0c;方便后续分析和展示。C提供了多种库来处理图像数据&#xff0c;本文将介绍如何使用stb_image_write库保存为PNG格式图像以及使用OpenCV库保存为TIFF格式图像。 1. PNG格式保存 使用stb_ima…

查出 product 表中所有 detail 字段包含 xxx 的完整记录

您可以使用以下 SQL 查询语句来查出 product 表中所有 detail 字段包含 oss.kxlist.com 的完整记录&#xff1a; SELECT * FROM product WHERE INSTR(detail, oss.kxlist.com) > 0;下面是detail字段包含的完整内容 <p><img style"max-width:100%;" src…

微服务 day01 注册与发现 Nacos OpenFeign

目录 1.认识微服务&#xff1a; 单体架构&#xff1a; 微服务架构&#xff1a; 2.服务注册和发现 1.注册中心&#xff1a; 2.服务注册&#xff1a; 3.服务发现&#xff1a; 发现并调用服务&#xff1a; 方法1&#xff1a; 方法2&#xff1a; 方法3:OpenFeign OpenFeig…

Shell原理简介与Linux中的权限问题

一、Shell命令及运行原理 1.1通常说的计算机体系结构指的是什么 通常意义上的计算机体系结构指的是芯片&#xff1a; 如锐龙amd&#xff0c;英特尔酷睿intel core 他们分为 x86&#xff1a;32位 x86_64&#xff1a;64位 两种 1.2广义上的Linux系统分为哪些部分&#xf…

在rtthread中,scons构建时,它是怎么知道是从rtconfig.h找宏定义,而不是从其他头文件找?

在rtthread源码中&#xff0c;每一个bsp芯片板级目录下都有一个 SConstruct scons构建脚本的入口&#xff0c; 在这里把rtthread tools/目录下的所有模块都添加到了系统路径中&#xff1a; 在tools下所有模块中&#xff0c;最重要的是building.py模块&#xff0c;在此脚本里面…