点击上方“逆向新手”,选择“关注公众号”

跟我一起学Python爬虫逆向!

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

目标网站:

aHR0cHM6Ly93d3cudGFwZC5jbi9jbG91ZF9sb2dpbnMvbG9naW4=

抓包,输入错误账号密码,可以看到其中的encrypt_key、encrypt_iv、password、dsc_token共4个参数均被加密

图1

一个一个来,先全局搜索encrypt_key,点开第一个js文件,继续搜索encrypt_key,发现只有一处,同时可以明显看到是通过AES加密,我们先打上断点分析下加密逻辑

图2

可以看到这里的 t 即为我们输入的密码, o 是一个随机数经过MD5所得,下面的for循环又构造了一个对象t,传入了密码和o,还有AES加密的模式mode和填充padding,最后再将加密后的password_encode传入到id为password_input的Element对象的值中。同理的还有encrypt_iv和encrypt_key

图3

我们在Elements选项卡中搜索下password_input,可以看到它的name属性即为post传参的一个参数。至此,已经找到3个加密处

图4    回到Sources选项卡,通过将鼠标悬停于CryptoJS.AES.encrypt这个函数上,点击上面的函数,即可跳转到函数定义处,为一个aes开头的js文件。这里我们不需要分析它具体是怎么操作的,通过快速查看这个文件的顶部与底部,并搜索该文件中是否包含window、navigator等浏览器环境,发现该文件可以直接全部复制拿来使用。同时将图3的逻辑经过一定改写,运行代码如下:

图5   前面709行全部为aes开头的js文件复制的。这里出现报错,看报错跟pad填充有关,同时经测试,发现问题出在CryptoJS.pad.ZeroPadding这,通过全局搜索CryptoJS.pad.ZeroPadding,发现原来该对象通过另一个js文件定义的,直接全部复制下来,再次运行,加密成功:

图6  继续全局搜索最后一个参数dsc_token,可以看到第一个红框,其实在设置一个cookie键为dsc-token的值e,而e是经过第二个红框的函数生成。

图7    通过对比发现,cookie为dsc-token的值与post参数dsc_token的值相等,因此这里的e值即为dsc_token,故重新构造函数如下,成功获取4个加密参数,至此全部分析解密完毕。

图8   该网站详细代码,已上传本人GitHub,可点击左下角“各位加油

—  END —

点击这里给我写留言

js滚动条下拉一定值_JS逆向 | *APD模拟登录(AES)相关推荐

  1. js滚动条下拉一定值_JS逆向 | 无限Debugger之淘大象

    置顶公众号 今天继续和大家研究JS逆向,不少小伙伴在JS逆向的时候遇到过无限debugger的反爬,今天就拿一个网站练练手感受下无限debugger. 分析请求 先打开这次的目标网站--淘大象(htt ...

  2. html滚动条自动下拉,[JS] jquery实现div随滚动条下拉浮动功能

    1.简介 div浮动,当滚动条下拉时,将div浮动到固定位置上. 2.实现 引用jquery.js略 1.html div加id="float".如 浮动内容 2.css 样式.d ...

  3. JS学习笔记-判断文本域当中滚动条的位置、滚动条下拉至底部才可以提交

    老规矩,废话不多说,先来看效果: CV即可直接使用,有什么在这里插入代码片问题可以留言或者私信,笔者看到都会第一时间回复的. 代码: <!DOCTYPE html> <html> ...

  4. python selenium滚动条下拉操作汇总

    python selenium滚动条下拉操作汇总 1.js脚本直接操作(推荐) from selenium import webdriver from time import sleepbrowser ...

  5. 随着滚动条下拉,导航栏置顶

    随着滚动条下拉,导航栏置顶 想做一个这样的效果,当我们下拉滚动条时,写的导航栏置顶. 这是效果图 先学习用到的基本知识 jQuery CSS 操作 - scrollTop() 方法 scrollTop ...

  6. js的下拉框事件之onchange

    记录下用js的下拉框事件来实现切换图片和实现链接跳转的两个例子: 1.JS实现下拉框切换图片方法: <!doctype html> <html lang="en" ...

  7. Js判断下拉框是否为空值

    <title>Js判断下拉框</title> <script> function ss(){ var slt=document.getElementById(&qu ...

  8. html JS实现下拉菜单,vue.js怎么实现下拉框

    本文环境:windows7.vue2.9.6,该方法适用于所有品牌的电脑. vue.js实现下拉框的方法: www.php.cn vue下拉框 {{x.name}}{{x.famname}} {{on ...

  9. js实现下拉菜单动画效果

    js实现下拉菜单动画效果 <!DOCTYPE html> <html lang="en"> <head><meta charset=&qu ...

最新文章

  1. 自监督学习新思路!基于蒸馏(distillation loss)的自监督学习算法
  2. 沈阳建筑大学c语言真题,沈阳建筑大学C语言复习资料.doc
  3. wikioi 1163 訪问艺术馆 树形dp
  4. c语言能让制表符空9个字符码,C语言编程规范 – 嗨!大佟!
  5. 苹果Mac网络视频下载工具推荐:Downie 4
  6. VB6.0《第二行代码》4-游戏安全,逆向工程-用CE找多级指针HP的基址和偏移量并且用VB超级模块读取
  7. Windows下安装Redis图文教程
  8. c语言求解一元二次方程的两相等实根,C语言 求解一元二次方程
  9. “国六”新要求——基于OBD系统的量产车评估测试 (PVE)
  10. Linux下Tab键补全,报No space left on device错误
  11. dns能帮助网站快速打开吗?怎么样提升网站打开速度?
  12. 【无标题】免费源码资源,游戏源码下载
  13. 打喷嚏 打嗝 打饱嗝 打鼾 打哈切 用日语都怎么说?
  14. OPPO AI Lab 核心岗位开放招聘:至美之路,等你加入!
  15. Bookmarklet - 小书签,实用浏览器小工具
  16. 设计模式——黑板模式
  17. LVGL_V7.7.2_快速概述
  18. Windows 中 TCP 端口 139 和 445 的使用
  19. vue-router有哪几种导航钩子?(具体怎么用的)
  20. php公众号交友源码_个性定制微信导航源码,PHP公众号导航源码,含手机wap版,微信数据...

热门文章

  1. 58一面:Redis数据更新,是先更新数据库还是先更新缓存?
  2. 有些人一眼就能认出来,你认出来几个?
  3. 啥是指标陷阱?很多就出现在你的身边!
  4. 从业务出发,来谈谈策略模式,清爽的飞起~
  5. 这么说线程生命周期是不是简单了点?
  6. 计算机基础16秋在线作业,北大16秋《计算机基础与应用-第二组》在线作业.doc
  7. 帝国cms百度小程序接入自然搜索小程序新资源提交自动同步的操作方法和原理
  8. PaddleDetection 个人测评
  9. pytorch转caffe
  10. pytorch模型参数信息 计算模型的FLOPs