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

首先访问主页:

他会设置一个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。

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

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

  1. WPS—JS宏笔记记录

    前言:本方法需要一定的JS基础,这边不会赘述,0基础者可先自学JS 文章目录 官方参考文档 壹--excel表格篇 一.创建新的表格输入内容并保存关闭 ThisWorkbook: Applicatio ...

  2. 【android逆向笔记】(一)简单登录逆向

    简单的登录逆向 因为是简单的学习过程,所以这里直接进行逆向,就不进行android代码的演示了.apk是直接借用了被人写好的app来进行学习的. ###(1)使用APK改之理对apk进行编译. ### ...

  3. 【Node.js学习笔记一】什么是Node.js?[概念总结]

    什么是Node.js? 一个 "编码就绪" 服务器 Node.js是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩 ...

  4. Android逆向笔记-通过配置文件设置全屏(逆向开发与正向开发)

    这里就是最简单的项目: 源码打包下载: https://github.com/fengfanchen/AndroidReverse/tree/master/CrakDemo3 这里首先用逆向改配置文件 ...

  5. 【tensorflow.js学习笔记(1)】tf.js环境搭建及曲线拟合例子

    月初TensorFlow开发者大会上,谷歌正式发布了TensorFlow的JS版本tensorflow.js,并演示了几个很有意思的demo,展现了浏览器环境下也能进行深度学习任务的能力.tensor ...

  6. 千锋Node.js学习笔记

    千锋Node.js学习笔记 文章目录 千锋Node.js学习笔记 写在前面 1. 认识Node.js 2. NVM 3. NPM 4. NRM 5. NPX 6. 模块/包与CommonJS 7. 常 ...

  7. 遇见 vue.js --------阿文的vue.js学习笔记(4)------模板语法

    ** 新学习新征程,我们一起踏上学习 vue.js的新长征 遇见 vue.js --------阿文的vue.js学习笔记(1)-----初识vue.js 遇见 vue.js --------阿文的v ...

  8. node.js学习笔记5——核心模块1

    node.js学习笔记5--核心模块1 Node.js核心模块主要内容包括:(1)全局对象 (2)常用工具 (3)事件机制 (4)文件系统访问 (5)HTTP服务器与客户端 一: 全局对象 Node. ...

  9. Vue.js 学习笔记 二,一些输出指令

    Vue的一些输出指令 {{字段}},v-text指令,v-html指令 <html> <head><meta name="viewport" cont ...

最新文章

  1. 链表的基本操作 java_详细实现单链表的基本操作【Java版】
  2. vue-router的hash模式和history模式,
  3. 如何使用 HttpReports 监控 .NET Core 应用程序
  4. SpringCloud(二) 生产者、消费者工程搭建与调用(下)
  5. Qemu之CPU mode介绍
  6. libvirt/qemu特性之快照
  7. VB在XP/2K 任务管理器的进程列表中隐藏当前进程
  8. [linux] 查看目录/文件字节数
  9. mysql建立索引_MySQL 索引及优化实战(一)
  10. npy文件转换成png
  11. 个人名片+微信名片二维码 VUE
  12. 数据结构——图的概述
  13. vector详解以及一些问题(C++)
  14. Win10管理员用户被禁用,无法登陆系统
  15. Istio的Ingress与Egress网关
  16. 程序员撩妹,你得看我教你的小技巧
  17. Vue判断IE浏览器版本并提示
  18. c++和c语言之间有什么区别
  19. 网友戏说电影公司片头动画
  20. 容斥定理与鸽巢定理(抽屉定理)

热门文章

  1. 013年十大急需的热门IT技能
  2. 程序员等级测试,你不进来试试么?听说等级高的都进一线bat了!
  3. 我现写掼蛋游戏就是要努力奋斗
  4. c++系统给baijq分配了空间
  5. 飞鸽传书举一个小例子
  6. 一些比较有用的SQL操作,2011最新整理
  7. 最新 C++的iostream标准库介绍(1)
  8. VC下设置Excel单元格的边框
  9. 经典面试题(19):以下代码将输出的结果是什么?
  10. 性能优化篇(3):避免空的图片src