JS逆向笔记-记录某测试论坛的js逆向练习

article/2025/9/19 1:20:41

这个网站应该是专门练习的,因为有个地方说不太通,在此只能算是练习,记录下,方便以后进行查阅。

首先访问主页:

他会设置一个cookie值,并且会把加密的salt

带出来。还有个叫lt的东西也会用html的形式传出来。

这个lt,会在发送请求的时候带出去。

输入用户名密码后,点击登录,发送的是这样的body:

username=admin888&password=H1uFJjwe8ZoS04VFZBOCBfma9qdoxrSd%2FND4gBK3%2F8YlVJaQ4ZJFSIO5PLjgZdYTkrgjILDmfXADSDtWJQpZCp%2FOUSX3nOo5zz6fuVHd%2FuU%3D&captchaResponse=hppx&lt=LT-3032376-qI7M4Pc15tRwukqt4nKojGlPuUL5gx1646621586496-mdSp-cas&dllt=userNamePasswordLogin&execution=e1s1&_eventId=submit&rmShown=1

这里重新刷新了下页面,上面的salt和lt会改变,下面来分析下这个password。关键代码已经定位到此处,下个断点:

 

function _gas(data, key0, iv0) {key0 = key0.replace(/(^\s+)|(\s+$)/g, "");var key = CryptoJS.enc.Utf8.parse(key0);var iv = CryptoJS.enc.Utf8.parse(iv0);var encrypted = CryptoJS.AES.encrypt(data, key, {iv: iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});return encrypted.toString();
}
function encryptAES(data, _p1) {if (!_p1) {return data;}var encrypted = _gas(_rds(64) + data, _p1, _rds(16));return encrypted;
}
function _ep(p0, p1) {try {return encryptAES(p0, p1);} catch (e) {}return p0;
}
var $_chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
var _chars_len = $_chars.length;
function _rds(len) {var retStr = '';for (i = 0; i < len; i++) {retStr += $_chars.charAt(Math.floor(Math.random() * _chars_len));}return retStr;
}

从中可以知道密码加密是这样的

加密字符串:64位随机数+密码;

密钥:登录首页时服务器给的16位字符串。

偏移量:16位随机的字符串。

加密方式:CBC;

填充:pkcs7

比如这样的:

 他的data是:fa7B3ixA4EP7YBQfjPtbn6PX8THKAYSWD6ncB8RhrNxy5aAcdQWc63PnkGbf8w5padmin888

key0是:Jaj2b6QTiljjdd6J

iv0是:XMZb5i5FEfP4YjSA

用在线AES加密试下:

 GPUjEIFA0wavbfPL9xVlVPE0C/Id2lZfZtiuNfc0Dk4+nA2UD9syrng7xn3PhFrhVRiTI4sMrqfrd+x7Um6REyHwxvyJI38ZoykQAC+SelQ=

看下程序他跑出来是多少

 发现是一样的。看看发的包是不是一样的:

username=admin888&password=GPUjEIFA0wavbfPL9xVlVPE0C%2FId2lZfZtiuNfc0Dk4%2BnA2UD9syrng7xn3PhFrhVRiTI4sMrqfrd%2Bx7Um6REyHwxvyJI38ZoykQAC%2BSelQ%3D&captchaResponse=apcf&lt=LT-3032840-P9cGjCTq3ciu0bTqOitzoL2nzmTLRv1646622551540-mdSp-cas&dllt=userNamePasswordLogin&execution=e1s3&_eventId=submit&rmShown=1

从中可以看到是一样的,只是转成了URI。

注:这里服务器在解码时,必须要偏移量,而从这提交的包中,没有看到对偏移量相关的加密等。在此感觉,这个站点仅仅是个测试站点。但对我也很有启发,后面一篇博文,用这种方式,实现密钥和偏移量的交换。


http://chatgpt.dhexx.cn/article/OTy9lRrH.shtml

相关文章

Matlab逆向归纳法,逆向归纳法

逆向归纳法(backward induction)是求解动态博弈均衡的方法 [编辑] 什么是逆向归纳法 逆向归纳法(backward induction)是求解动态博弈均衡的方法。所谓动态博弈是指博弈参与人的行动存在着先后次序&#xff0c;并且后行动的参与人能够观察到前面的行动。逆向归纳法在逻辑上是严密…

逆向工程

逆向工程 数据库部分逆向工程说明导入文件 reverseProject添加相应jar包修改这个工程三个 .xml 文件都要修改的地方修改generatorConfig.xml文件 工程终点-运行GeneratorSqlMap.java文件 在使用mybatis时需要根据数据表创建实体类&#xff0c;pojo类的映射文件以及sql语句和Dao…

逆向 实战

逆向实操 汇编 《汇编语言》,王爽 《天书夜读》邵坚磊等 《Intel汇编指令集手册》 基础 学习汇编的原则 不推荐写纯汇编程序,一般都是通过_asm{}方式嵌入部分汇编代码学习汇编的目的是:解底层&#xff0c;调试&#xff0c;逆向分.c-编译->.s-汇编→.o(linux平台)/.obj(wi…

微信逆向分析(一)——逆向分析的原理

逆向的简单理解 正向开发&#xff0c;是先写代码&#xff0c;再编译成软件。而逆向分析&#xff0c;到手的只有软件。从软件入手&#xff0c;推测对应的代码&#xff0c;需要了解一下编译之后的软件是怎么跑起来的。 软件运行过程 1、软件加载到内存。 2、CPU读取内存的指令…

【JavaScript 逆向】网易易盾滑块逆向分析

声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 案例目标 验证码&#xff1a;aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc 以上均做了脱敏处理&#xff0c;Base64 编码及解码方式&#xf…

【JavaScript 逆向】今日头条 jsvmp,_signature 参数分析

前言 现在一些网站对 JavaScript 代码采取了一定的保护措施&#xff0c;比如变量名混淆、执行逻辑混淆、反调试、核心逻辑加密等&#xff0c;有的还对数据接口进行了加密&#xff0c;这次案例是通过补环境过 jsvmp。 声明 本文章中所有内容仅供学习交流&#xff0c;相关链接…

【JavaScript 逆向】拼多多 anti_content 参数逆向解析

前言 现在一些网站对 JavaScript 代码采取了一定的保护措施&#xff0c;比如变量名混淆、执行逻辑混淆、反调试、核心逻辑加密等&#xff0c;有的还对数据接口进行了加密&#xff0c;这次案例是通过补环境过加密。 声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做…

CTF逆向基础

更多资源请进入&#xff1a;https://github.com/SycloverTeam/SycRevLearn 查看。 1 IDA定位main函数 运行T1.exe。 将可执行程序放入IDA中&#xff0c;并查找字符。 双击。 按F5&#xff0c;进入代码。 可以对函数进行重新命名&#xff0c;此时也已经得到了flag。 2 …

[系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向

您可能之前看到过我写的类似文章&#xff0c;为什么还要重复撰写呢&#xff1f;只是想更好地帮助初学者了解病毒逆向分析和系统安全&#xff0c;更加成体系且不破坏之前的系列。因此&#xff0c;我重新开设了这个专栏&#xff0c;准备系统整理和深入学习系统安全、逆向分析和恶…

逆向--基础知识篇

基础知识 可执行文件 计算机中可以被直接执行的程序被称之为可执行文件&#xff0c;可执行文件中是由指定操作系统的可执行文件格式规范与当前CPU机器指令码组成。不同的操作系统、不同的CPU之间的可执行文件都可能存在或多或少的差异。本篇主要以Windows操作系统、x86架构的…

逆向入门到入土

第一章 概述 学了几个月的逆向&#xff0c;记得10月份国庆节刚开始学的时候 感觉找flag蛮有意思&#xff0c;看着一个up主的视频&#xff0c;那时候c语言也没怎么学&#xff0c;所以就单纯他怎么做&#xff0c;我自己怎么做&#xff0c;后面去一些ctf靶场做了几道题&#xff0…

BNU1064:人品问题

“人品既不能被创生&#xff0c;也不能被消灭。只能从一个人转移到另一个人&#xff0c;从一个层面转化到另一个层面&#xff0c;而在转移和转化的过程当中&#xff0c;人品的总和保持不变。” 至此引出人品学(Characterics)三定律&#xff1a; 第一定律&#xff1a;即人品守恒…

开发者的人品问题

程序员都知道&#xff1a;绝大多数编程中的问题&#xff0c;最终都是自己的人品问题。当遇到奇怪的问题时&#xff0c;我们总是喜欢怀疑系统、怀疑编译器、怀疑网络、怀疑硬件……就是不愿意怀疑自己的人品。熬过几个不眠之夜后&#xff0c;最终还是发现自己的代码存在人品问题…

A. 人品问题

A. 人品问题 Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class name: Main Submit Status PID: 1064 Font Size: - “人品既不能被创生&#xff0c;也不能被消灭。只能从一个人转移到另一个人&#xff0c;从…

BNU 1082 人品问题

这个题我是1A 突然觉得自己好叼 #include<bits/stdc.h> int main() {printf("25\n");return 0; }

人品问题

Description 网上出现了一种高科技产品——人品测试器。只要你把你的真实姓名输入进去&#xff0c;系统将自动输出你的人品指数。yzx不相信自己的人品为0。经过了许多研究后&#xff0c;yzx得出了一个更为科学的人品计算方法。这种方法的理论依据是一个非常重要的结论&#xff…

人品差的人,开口闭口都是这些话,一定不要深交!

说话之道&#xff0c;也是为人之道。 言语是思想的发声&#xff0c;从一个人的话里&#xff0c;往往可以听出其内心的声音。 从而初步判断出一个人的人品如何&#xff0c;是否值得交往。 那些人品差的人&#xff0c;开口闭口都离不开以下三种话&#xff0c;身边若有此类人&a…

adb logcat 命令行用法

本文为转载。 作者 :万境绝尘 转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [plain] view plain copy octopusoctopus:~$ ad…

java logcat_logcat -- 基本用法

1.Log类是一个日志类&#xff0c;我们可以在代码中使用logcat打印出消息 常见的日志记录方法有&#xff1a; v(String,String) --verbose 显示全部信息 d(String,String) -- debug 显示调试信息 i(String,String) -- information 显示一般信息 w(String,String) -- warning 显…

Logcat使用

目录 一、Logcat窗口 二、过滤 logcat 消息 三、Logcat的日志级别 四、设置日志信息颜色 一、Logcat窗口 Logcat在哪里&#xff1f;我都是直接点击工具栏中的Logcat图标。 Logcat窗口是用来查看应用日志的啦&#xff0c;我把每个部分标注了一下。 二、过滤 logcat 消息 一…