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

本文主要是介绍019-信息打点-小程序应用解包反编译动态调试抓包静态分析源码架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

Untitled

#知识点:

1、Web&备案信息&单位名称中发现小程序
2、小程序资产静态提取&动态抓包&动态调试
解决:
1、如何获取到目标小程序信息
2、如何从小程序中提取资产信息

演示案例:

➢小程序获取-各大平台&关键字搜索
➢小程序体验-凡科建站&模版测试上线
➢小程序抓包-Proxifier&BurpSuite联动
➢小程序逆向-解包反编译&动态调试&架构

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

微信
百度
支付宝
抖音头条

Untitled

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

测试:https://qz.fkw.com/
参考:https://blog.csdn.net/qq_52445443/article/details/122351865

Untitled

Untitled

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

#小程序抓包-Proxifier&BurpSuite联动

对抓到的IP或域名进行Web安全测试
对抓到的IP或域名进行API安全测试
对抓到的IP或域名进行端口服务测试

问题:微信崩溃小程序打开没网

原因:代理规则没有设置对wechat*.exe将微信所有的进程全部获取,导致崩溃

解决:修改代理规则为:WeChatAppEx.exe,只专注于小程序的进程进行转发即可

Untitled

Untitled

Untitled

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

对源码架构进行分析
更多的资产信息
敏感的配置信息
未授权访问测试
源码中的安全问题

  • 小程序多功能组手
    复杂操作:https://www.cnblogs.com/oodcloud/p/16964878.html
    简单工具:http://xcx.siqingw.top/
    -微信官方开发工具
    https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html

  • 首先下载小程序助手和微信小程序官方开发工具

    Untitled

  • 首先打开微信小程序包的相关目录D:\WeChat Files**Applet**微信设置→文件管理→即可找到目录

    • 将里面wx开头的微信小程序生成的缓存包全部删除(便于后期确认哪个是目标缓存包)
    • 再次打开小程序,查看目录下出现目标缓存包,点击进入直到找到APP.wxapkg以此尾缀结尾的如果出现多个,记得把app.wxapkg排序到最前即可

    Untitled

    Untitled

    Untitled

    Untitled

    Untitled

    Untitled

  • 选中后进行反编译,文件目录下出现反编译源码,打开微信官方开发工具,并拉入反编译好的源码即可

    • 如果出现大面积报错无内容,点击详情→本地设置→取消勾选将JS编译为ES5即可

Untitled

Untitled

Untitled

Untitled

  • 点击左上角可视化,并打开源码目录,点击list下的list.wxml发现页面跳转
  • 点击index.wxml发现又跳转回首页页面,点击category.wxml发现页面跳转到栏目页面

Untitled

Untitled

Untitled

Untitled

  • 打开转发工具和burp进行抓取小程序的数据包,在首页源码中进行对抓包内容检索,发现一一对应,例如:icl/2 在源码找得到

Untitled

Untitled

  • 仔细检阅源码可以发现,其中回泄露一些资源如:域名,图片等资产
  • 还可能回遇到绕过授权,直接访问到资产信息的情况
  • 还可以在源码尝试全局搜索,Accesskey,查看是否泄露oss的密钥

Untitled

Untitled

Untitled

这篇关于019-信息打点-小程序应用解包反编译动态调试抓包静态分析源码架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/631572

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的