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

前言

在我们日常的渗透中经常会遇到开局一个登录框的情况,弱口令爆破当然是我们的首选。但是有的网站会对账号密码等登录信息进行加密处理,这一步不由得阻碍了很多人的脚步。前端的加解密是比较常见的,无论是 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又是什么呢?

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

WebPack打包

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

概念:

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

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

  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文件里面。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建安装thinkphp6漏洞信息配置 漏洞利用 修复建议 漏洞名称 漏洞描述 2020年1月10日,ThinkPHP团队发布一个补丁更新,修复了一处由不安全的SessionId导致的任意文…

【MySQL】数据库并发控制:悲观锁与乐观锁的深入解析

🍎个人博客:个人主页 🏆个人专栏: 数 据 库 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 悲观锁(Pessimistic Locking): 乐观锁(Optimistic Locking): 总结&#x…

10. UVM Environment

环境为agents, scoreboards和其他验证组件(包括有助于在 SoC 级别重用块级环境组件的其他环境类)提供良好的层次结构和容器。用户定义的 env 类必须从 uvm_env 类扩展。 10.1 uvm_env class hierarchy 类声明: virtual class uvm_env extend…

2023.12.27 关于 Redis 数据类型 List 常用命令

目录 List 类型基本概念 List 类型特点 List 操作命令 LPUSH LPUSHX RPUSH RPUSHX LRANGE LPOP RPOP LINDEX LINSERT LREM LTRIM LSET 阻塞版本的命令 阻塞版本 和 非阻塞版本的区别 BLPOP & BRPOP List 类型基本概念 Redis 中的列表(list&am…

水果软件2024FL Studio21.3mac苹果中文版

FL STUDIO21发布,提供您一直在等待的出色工作流程功能。通过新效果、多个播放列表曲目选择和无所畏惧的撤消一切编辑,将您的音乐带入2024年。FL Studio21中文完整版是一个功能齐全、开放式架构的PC音乐创作和制作环境。它具有基于音乐音序器的图形用户界…

flutter学习-day21-使用permission_handler进行系统权限的申请和操作

文章目录 1. 介绍2. 环境准备2-1. Android2-2. iOS 3. 使用 1. 介绍 在大多数操作系统上,权限不是在安装时才授予应用程序的。相反,开发人员必须在应用程序运行时请求用户的许可。在 flutter 开发中,则需要一个跨平台(iOS, Android)的 API 来…

Angular进阶之六:Progressive rendering

简介 Progressive Rendering 是一种提高 Web 应用性能的方法,允许页面在加载过程中逐步呈现,以提高用户体验。在本文中,我们将探讨如何在 Angular 中通过自定义指令实现 Progressive Rendering,特别是处理从服务器获取大量数据的…

flutter 安卓使用高德插件黑屏

地址 https://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project 下面介绍的方式是Native配置 sdk,也就是需要手动下载到本地在引入的方式 1、添加 jar 文件: 将下载的地图 SDK 的 jar包复制到工程(此处截…

V-rep(CoppeliaSim)添加相机,与python联合仿真,并使用python读取V-rep中的RGB图与深度图

目录 前言在V-rep中构建场景建立python与V-rep通信 前言 本文主要介绍了如何使用python与V-rep联合仿真,并用OpenCV可视化V-rep中视觉传感器所能看到的 RGB图和深度图,效果图如下。 在V-rep中构建场景 本文使用的V-rep版本是3.5: 打开V-…

YOLOv5改进 | 2023注意力篇 | FocusedLinearAttention聚焦线性注意力

一、本文介绍 本文给大家带来的改进机制是FLAttention(聚焦线性注意力)是一种用于视觉Transformer模型的注意力机制(但是其也可以用在我们的YOLO系列当中从而提高检测精度),旨在提高效率和表现力。其解决了两个在传统线性注意力方法中存在的…

【2023 CCF 大数据与计算智能大赛】基于TPU平台实现超分辨率重建模型部署 基于FSRCNN的TPU平台超分辨率模型部署方案

2023 CCF 大数据与计算智能大赛 基于TPU平台实现超分辨率重建模型部署 基于FSRCNN的TPU平台超分辨率模型部署方案 WELL 刘渝 人工智能 研一 西安交通大学 中国-西安 1461003622qq.com 史政立 网络空间安全 研一 西安交通大学 中国-西安 1170774291qq.com 崔琳、张…

Hive中支持毫秒级别的时间精度

实际上,Hive 在较新的版本中已经支持毫秒级别的时间精度。你可以通过设置 hive.exec.default.serialization.format 和 mapred.output.value.format 属性为 1,启用 Hive 的时间精度为毫秒级。可以使用以下命令进行设置: set hive.exec.defau…

idea中终端Terminal页面输入命令git log后如何退出

1、idea中Terminal输入命令git log后如何退出? 2、解决 输入q键会自动退出git log命令

【Redis前奏曲】初识Redis

文章目录 一.Redis的一些特性(优点)1. 在内存中存储数据2. 可编程的3. 可扩展的4.持久化5. 聚集(集群)6. 高可用Redis快的原因 二. 使用案例1.数据库2. 缓存3. 消息队列 一.Redis的一些特性(优点) 我们在上一篇博客中说到,Redis是一个在内存中存储数据的中间件.用作数据库,数据…

C++面向对象(OOP)编程-C++11新特性详解

C11作为一个重要的版本,引入了很多新的特性,解决了C语言本身很多遗留的内存泄露问题,并且提供了很多比较灵活的用法。引入的auto,智能指针、线程机制都使得C语言的灵活性、安全性、并发性有了很大的提升。 本文会比较详细的介绍C1…

ffmpeg两种windows版本区别说明

版本一 必须拷贝exe和dll文件才能使用,如果缺少dll则exe不正正常执行 如果缺少dll ,执行 exe会报错如下 版本2 直接拷贝exe就能使用,没有依赖的环境

防火墙什么用,软件防火墙与硬件防火墙有什么不一样

防火墙是一种网络安全技术,通过有机结合各类用于安全管理与筛选的软件和硬件设备,在计算机网络的内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息的安全性。 防火墙的作用的详细说明: 1.访问控制:防火…

绝地求生:【PC】12月额外特殊空投

亲爱的玩家朋友们,大家好! 有一个好消息要告诉大家,12月丰富的活动列表中又添加了新的活动啦!希望大家在闲游盒PUBG的陪伴下,为2023年画上圆满的句号! ※可在大厅内的活动页面查看活动详情 PUBG空投节&am…

[每周一更]-(第44期):GIT版本控制之忽略文件

基础概念 在 Git 中,可以通过 .gitignore 文件来指定不需要纳入版本控制的文件或文件夹,这些被忽略的文件或文件夹不会被提交到仓库中。 在项目根目录下创建一个名为 .gitignore 的文件,并在其中列出需要忽略的文件或文件夹。一些常见的示例…

Spring Boot学习随笔- Jasypt加密数据库用户名和密码以及解密

学习视频:【编程不良人】2021年SpringBoot最新最全教程 第十九章、Jasypt加密 Jasypt全称是Java Simplified Encryption,是一个开源项目。 Jasypt与Spring Boot集成,以便在应用程序的属性文件中加密敏感信息,然后在应用程序运行…