第19天:信息打点-小程序应用解包反编译动态调试抓包静态分析源码架构

第十九天

Untitled

本课意义

1.如何获取到目标小程序信息
2.如何从小程序中提取资产信息

一、Web&备案信息&单位名称中发现小程序

1.国内主流小程序平台

  1. 微信

  2. 百度

  3. 支付宝

  4. 抖音头条


2.小程序结构

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用来配置小程序及其页面是否允许被微信索引

3.小程序体验-凡科建站&模版测试上线

1.搭建小程序

测试:https://qz.fkw.com/

参考:https://blog.csdn.net/qq_52445443/article/details/122351865

2.小程序源码反编译

参考官方文档安装环境

复杂操作:https://www.cnblogs.com/oodcloud/p/16964878.html

简单工具:http://xcx.siqingw.top/

3.微信官方开发工具

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

二、小程序资产静态提取&动态抓包&动态调试

小程序逆向-解包反编译&动态调试&架构

信息收集

  1. 小程序抓包-Proxifier&BurpSuite联动
  2. 对抓到的IP或域名进行Web安全测试
  3. 对抓到的IP或域名进行API安全测试
  4. 对抓到的IP或域名进行端口服务测试

寻找漏洞

  1. 对源码架构进行分析

  2. 更多的资产信息

  3. 敏感的配置信息

  4. 未授权访问测试

  5. 源码中的安全问题


三、环境复现

1.小程序获取-各大平台&关键字搜索

各大平台直接搜索

2.小程序体验-凡科建站&模版测试上线

1.打开凡科建站

image-20240326224940535

2.选择模板后点击预览

image-20240326225118310

3.点击前往授权,选择授权的小程序平台

image-20240326225248452

4.因为没有资质和注册,点击快速创建试用小程序进行测试就行

image-20240326225319064

5.点击绑定体验者后输入体验者的微信号

image-20240326225444305

6.去微信打开查看搭建的小程序的效果

image-20240326225947277


3.小程序抓包-Proxifier&BurpSuite联动

1.打开Burp设置好代理,打开proxifier设置好代理服务器和代理规则,规则要指向微信的exe程序位置

Untitled

2.设置好之后打开小程序进行抓包

Untitled


4.程序逆向-解包反编译&动态调试&架构

1.第一个小程序(需要购买)

1.打开小程序助手,点击解包文件

2.打开小程序安装目录,在微信文件存储位置文件下的Applet,为了更好判断,删除多余无用的小程序缓存

3.选择一个小程序运行,运行完后会在Applet目录下产生一个新的文件夹

4.回到小程序助手打开小程序所在的目录,如果有多个wxapkg文件就多选进行打开,保证APP的那个在第一个

5.显示解包成功之后点击刷新反编译包,选中刚刚选择的解包的文件

6.然后根据小程序界面的美观程度选择新旧版反编译

7.点击反编译之后会生成一个文件夹,反编译的源码就在这个文件夹下

8.打开微信开发者工具,打开刚刚反编译后的源码

9.点击右上角的详情,点击本地设置,取消勾选将JS编译成ES5

10.点击可视化,对预览界面进行点击查看调试器的信息

11.选择pages文件夹后点击list目录下的list.wxml查看预览页面变化,然后逐一点开各个文件夹下的.wxml进行查看

12.再打开Burp进行抓包,根据显示的URL进入微信开发者工具index文件夹下的JS文件进行搜索查找

13.再进行查找,在wxml文件中可能泄露图标所在的URL

2.第二个小程序

1.寻找其他小程序进行测试

2.遍历目录查看预览界面样式,寻找有没有存在未授权访问

3.搜索源码中的敏感字段,例如accesskey,看是否存在OSS资源信息

4.打开小程序助手,点击抓取素材工具,运行图片抓取,可以搜集一些域名信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/821377.shtml

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

相关文章

goland2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Goland 是一款由 JetBrains 公司开发的集成开发环境(IDE),专门用于 Go 语言的开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和管理 Go 语言项目。 功能特点&#x…

Milvus 老友汇|RAG 场景、电商平台、AI 平台……如何用向量数据库构建业务方案?

近日,Milvus 老友汇Arch Meetup 在深圳圆满落幕。本次 Meetup 由 Milvus 社区携手 Shopee 共同举办,同时还邀请到来自 AWS、点石科技的技术专家,分享电商行业、RAG 场景、AI 平台等如何基于向量数据库构建业务方案。 以下是本次 Meetup 的重点…

OSPF---综合实验

1、R4为ISP,其上只配置IP地址;R4与其他所直连设备间均使用公有IP; 2、R3-R5、R6、R7为MGRE环境,R3为中心站点; 3、整个OSPF环境IP基于172.16.0.0/16划分;除了R12有两个环回,其他路由器均有一个环…

HTML 入门

HTML 简介 1. 什么是 HTML? 全称:HyperText Markup Language(超文本标记语言)。 超文本:暂且简单理解为 “超级的文本”,和普通文本比,内容更丰富。 标 记:文本要变成超文本&…

PLC扩展更自由,钡铼IOy系列模块实现DI/DO/AI/AO任意组合

随着工业自动化的不断发展,PLC(可编程逻辑控制器)作为工业控制领域的核心设备,扮演着至关重要的角色。而钡铼IOy系列模块作为PLC的重要扩展设备,不仅实现了DI(数字输入)、DO(数字输出…

TOP100 二分法

写在前面:二分法用在有序序列上 1.35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示…

Ubuntu20从0开始选择合适版本手动安装cuda,torch-geometric,jax

一个全新的ubuntu20台式机,在Additional Drivers安装nvidia-470-server(一开始安装450,cunda版本只能到11.0,torch有些库用不了,可以直接切换点击Apply Changes重启就行) nvidia-smi查看CUDA Version可到…

全球最新国内外18个热门风景视频素材网站推荐

寻找最新的高清风景视频素材?这里有国内外共18个热门网站,精心整理供您选择。 国内资源: 蛙学网:免费提供多种无版权视频素材,资源丰富。新GG网:需QQ登录,提供丰富的视频模板,通过…

vue快速入门(十七)v-model数据双向绑定修饰符

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-model.trim 自动去除首尾空格v-model.number 自动转换成数字类型 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" con…

基于ADB的Scrcpy实现电脑控制手机

Scrcpy是一个开源的&#xff0c;基于ADB&#xff08;Android 调试桥&#xff09;的手机到电脑上的投屏操控的实现&#xff0c;本文将介绍如何搭建开发环境&#xff0c;使得在Windows系统中去控制投屏的安卓手机。 1. 安装投屏软件 下载Scrcpy软件到电脑上&#xff0c;该软件中…

YoloV9实战:从Labelme到训练、验证、测试、模块解析

模型实战 训练COCO数据集 本次使用2017版本的COCO数据集作为例子&#xff0c;演示如何使用YoloV8训练和预测。 下载数据集 Images: 2017 Train images [118K/18GB] &#xff1a;http://images.cocodataset.org/zips/train2017.zip2017 Val images [5K/1GB]&#xff1a;htt…

【电控笔记2.2】电流回路+延迟效应

延迟效应的来源以及影响 数字控制系统的delay: 5.4节有介绍T0=0.5TS 低通滤波器的时间常数? 滤波器的传递函数与性能参数

【多线程】阻塞队列 | put()方法 | take()方法 | 生产者-消费者模式 |实现阻塞队列

文章目录 阻塞队列1.生产者-消费者模式生产者消费者模型的意义&#xff1a;1.解耦合2.削峰填谷&#xff1a; 2.阻塞队列的使用BlockingQueue 3.实现阻塞队列唤醒&#xff1a;使用阻塞队列实现生产者消费者模型 阻塞队列 阻塞队列是一种特殊的队列&#xff1a; 1.是线程安全的。…

Vue 阶段练习:记事本

将 Vue快速入门 和 Vue 指令的学习成果应用到实际场景中&#xff08;如该练习 记事本&#xff09;&#xff0c;我们能够解决实际问题并提升对 Vue 的技能掌握。 目录 功能展示 需求分析 我的代码 案例代码 知识点总结 功能展示 需求分析 列表渲染删除功能添加功能底部统计…

网络—DAY4

思维导图 多进程并发服务器 #include<myhead.h> #define SER_IP "192.168.122.56" #define SER_PORT 8888 void handler(int signo) {if(signoSIGCHLD){while(waitpid(-1,NULL,WNOHANG)>0);} } int main(int argc, char *argv[]) {//将SIGCHLD信号与处理…

项目中,如何写 readme.md 文件 | 写项目总结

tips&#xff1a;注意写 1. readme文件&#xff1a;①项目文档&#xff08;项目需求和设计文档、项目系统架构和技术文档、接口文档&#xff09;、②项目结构、③启动项目。具体结构见下文。 2. 项目总结&#xff1a;技术栈、描述、主要工作&#xff01;&#xff01;需求及功…

递归、搜索与回溯算法——递归

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享递归,搜索与回溯算法关于递归的专题 如果有不足的或者错误的请您指出! 目录 1.什么时候使用递归2.汉诺塔2.1解析2.2题解 3.合并两个有序链表3.1解析3.2题解 4.翻转链表4.1解析4…

人类连接的桥梁:探索Facebook如何连接世界

随着技术的发展和全球化的进程&#xff0c;我们的世界正在变得越来越紧密相连。在这个过程中&#xff0c;社交媒体平台扮演了一个至关重要的角色&#xff0c;为人们提供了一个跨越国界、文化和语言的交流平台。其中&#xff0c;Facebook作为全球最大的社交媒体平台&#xff0c;…

rancher踩坑日志:prometheus访问kubelet 10250端口提示鉴权失败

该原因是因为kubectl禁止了非授权用户访问10250端口来获取node的数据。 解决思路&#xff1a; 添加prometheus访问kubelet时带上证书进行验证匹配 --> 由于我的prometheus是rancher安装的&#xff0c;不知道要怎么修改所以研究了一会没研究明白就放弃了。设置prometheus访问…

如何批量删除不包含指定关键字的数据行?

一、需求 有一个报名表&#xff0c;包括年龄&#xff0c;地址&#xff0c;特长等数据&#xff0c;现在想删除特长一列中不含“篮球”这个关键字行&#xff0c;可以使用这些办法。 二、删除数据 方法1.自动筛选&#xff0c; 1.1 选中数据后&#xff0c;点击数据选项卡&#…