某后台管理系统加密参数逆向分析

前言

在我们日常的渗透中经常会遇到开局一个登录框的情况,弱口令爆破当然是我们的首选。但是有的网站会对账号密码等登录信息进行加密处理,这一步不由得阻碍了很多人的脚步。前端的加解密是比较常见的,无论是 web 后台还是小程序,都常常存在加解密传输,签名防篡改等机制,会使很多渗透人员没有办法直接对参数的值进行更改,大大增加了攻击者的攻击成本。本文将一个带验证码的后台实站案例与大家分享。

正文

发包逻辑分析:

开局一个登录框,随便输入一段账号密码跟验证码进行抓包

图片

提交错误的验证码跟账号密码弹出了验证码错误!的提示,说明这个数据包就是校验账号密码跟验证码的数据包

图片

查看一下参数,账号,验证码都是明文,密码被加密了

图片

搜索参数关键词password,可以看到一个带有login的js文件,双击进入文件。

图片

在文件内部总共有10个password关键词,全部打上断点发包校验。

图片

断点在196行断了下来,t.param.password是明文。经过Object(i["a"])函数运行之后就成了加密密文。证明Object(i["a"])便是加密函数!后续便是把所有需要拿去爆破的明文加密成密文便可绕过前端加密直接进行暴力破解。

图片

图片

扣加密函数:

进入到加密函数内部查看

图片

可以看到函数内部有个s函数,将断点下到156行,查看传进来的t是什么值,以及经过s函数运行之后的返回值又是什么呢。

图片

t是传进来的明文,返回值是加密之后的值。

图片

观察一下代码,可以看到"93a9"和 "7d92",把代码拉到第一行,这个站点用的webpack打包技术。

图片

那么webpack又是什么呢?

WebPack打包

webpack是一个基于模块化的打包(构建)工具, 它把一切都视作模块

概念:

webpack是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,打包成符合生产环境部署的前端资源。所有的资源都是通过JavaScript渲染出来的。

如果一个页面大部分是script标签构成,80%以上是webpack打包。

  1. 1. webpack打包简介

图片

image20220329153518062

多个JS文件打包:

如果模块比较多,就会将模块打包成JS文件, 然后定义一个全局变量 window["webpackJsonp"] = [ ],它的作用是存储需要动态导入的模块,然后重写 window["webpackJsonp"] 数组的 push( ) 方法为 webpackJsonpCallback( ),也就是说 window["webpackJsonp"].push( ) 其实执行的是 webpackJsonpCallback( ),window["webpackJsonp"].push( )接收三个参数,第一个参数是模块的ID,第二个参数是 一个数组或者对象,里面定义大量的函数,第三个参数是要调用的函数(可选)

寻找加载器

加载器一般是使用call或者apply方法

call() 方法会立即执行这个函数,接受一个多个参数,参数之间用逗号隔开;
apply()方法会立即执行这个函数,接受一个包含多个参数的数组;

我们找类似i("1ff3")这种的字眼,然后打断点,刷新页面进断点,一般就可以找到加载器了

图片

断点断下来之后直接进入加载器函数

图片

可以看到d函数里面明显的使用了call函数。

图片

直接全扣整段webpack代码。

定义全局变量调用模块,运行代码

var 君主;

图片

报错windows未定义。直接补上window对象。

图片

var window={};

在导出的模块里面没有寻找到我们需要的“7d92”模块

图片

复制donate~login.06871226.js文件到ide折叠,将其7d92模块复制到我们有加载器的模块数组里面。

图片

调用7d92模块

图片

报错了TypeError: Cannot read properties of undefined (reading 'call')模块缺失的错误。

图片

打印传进去的模块,看看是缺失哪个模块咱们直接补。

图片

缺失1ff3模块

图片

缺失f28c模块

图片

浏览器全局搜索f28c,模块f28c在chunk-vendors.db1c4c0d.js文件里面。

图片

缺失143d模块,143d模块在donate~login.06871226.js文件里面。

图片

后续报错的93a9,ea6a模块也都在donate~login.06871226.js文件里面。

图片

没有报错了,调用当前函数。加密值出来了。

图片

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

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

相关文章

【音视频 ffmpeg 学习】 跑示例程序 持续更新中

环境准备 在上一篇文章 把mux.c 拷贝到main.c 中 使用 attribute(unused) 消除警告 __attribute__(unused)/** Copyright (c) 2003 Fabrice Bellard** Permission is hereby granted, free of charge, to any person obtaining a copy* of this software and associated docu…

Unity JSON编码解码之LitJson 深度剖析

把LitJson的代码库放入到项目中,如图所示:JSON在游戏开发中是一种序列化/反序列化常用的技术,把游戏相关的数据,如地图组成,通过JSON编码,序列化成JSON文本,传输或存储, 要使用的时候再通过JSON技术把文本解析成数据对象&#xff…

Python FastApi连接oracle进行查询

这边技术选型是cx_oracle进行连接查询,cx_oracle的使用首先要有官方的客户端才能连接到数据库,python并不自带客户端。我用是Python3.9 安装客户端 可以到官网在选择最新版进行下载。 Instant Client for Microsoft Windows (x64) 64-bit 或者直接从我…

Cassandra详解

Cassandra 概念 Apache Cassandra 是高度可扩展的,高性能的分布式 NoSQL 数据库。 Cassandra 旨在处理许多商品服务器上的大量数据,提供高可用性而无需担心单点故障。 Cassandra 具有能够处理大量数据的分布式架构。 数据放置在具有多个复制因子的不同…

水准网、平面导线平差

东北大学测绘工程水准网、平面闭合导线间接平差法平差C#项目。 闭合导线程序界面: 水准网程序界面: 项目gitee地址: horizon: 东北大学测绘工程水准网,闭合导线间接平差法C#项目 (gitee.com) 注:此项目为本博主代人转…

C#中使用using关键字回收资源

目录 一、一般表达式 二、示例 三、生成 在进行文件操作后要显式调用文件流的Close方法释放文件资源,在使用数据库连接时也要调用连接对象的Close方法释放数据库资源。如果忘记调用Close方法,有可能会导致程序执行异常,而且还会导制垃圾收…

操作系统大题

目录 作业一: 前驱图 作业二:信号量 作业三:同步算法 1‘’生产者消费者问题 解1: 解2:利用AND信号量解决生产者-消费者问题 解3. 利用管程解决生产者-消费者问题 2‘’ 哲学家进餐问题(The Dinning…

力扣题目学习笔记(OC + Swift)25. K 个一组翻转链表

K 个一组翻转链表 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改…

Python入门学习篇(十二)——内置函数匿名函数

1 内置函数——数学函数 1.1 绝对值函数 1.1.1 语法 abs(参数) # 里面的参数既可以是整数,也可以是小数1.1.2 示例代码 m -1.99 n -9 print(f"{m}的绝对值为: {abs(m)}") print(f"{n}的绝对值为: {abs(n)}")1.1.3 运行截图 1.2 求商和余数 1.2.1 语…

LLaVA-v1.5-7B:实现先进多模态学习的开源AI

引言 LLaVA-v1.5-7B是一个开源大型多模态模型(LMM),它通过结合视觉指令调整(Visual Instruction Tuning)技术,展示了在多模态理解和生成任务上的卓越性能。该模型特别注重简洁性和数据效率,利用…

API 开放平台项目(已整理,已废弃)

项目大纲 前端 React 18Ant Design Pro 5.x 脚手架Ant Design & Procomponents 组件库Umi 4 前端框架OpenAPI 前端代码生成 后端 Java Spring BootMySQL 数据库MyBatis-Plus 及 MyBatis X 自动生成API 签名认证(Http 调用)Spring Boot Starter&#…

【Linux】深度解剖环境变量

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟悉并掌握Linux的环境变量。 > 毒鸡汤&#x…