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

相关文章

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”