js取字符串后四位_JS逆向 | 某验滑块加密参数逆向分析

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

aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s

抓包分析,看到一个加密参数w,全局搜索加密字段找不到可疑信息,同时又不是XHR所以无法下断点,  那该怎么定位?

e7f78bb6639327227c52e94671f8b742.png

通过Initiator可以看到与该请求有关的一个js文件,我们点进去看看。
6e2132df4ac703c69507f5fd5b3e9b97.png

怪不得搜不到相关信息,我们用 beautifier.io 美化一下代码,然后放到编辑器里再搜索看看。
1de92154af26241ba243bf69033cafb1.png

很快找到关键位置,可以看到,w值是 u + s , u值与a值有关,a值与o有关,o 中 userresponse、imgload、ep 不清楚是什么,我们分别在几个位置下断点。
90f70a3435c5d81af2dee4a32cd96264.png

拖动滑块停在断点处,暂不关心传入的三个参数是什么,先来看看userresponse是如何生成的。
6583403399d946acb9ec757a2d3a1b1f.png

在控制台查看相关信息,发现第二个参数challenge的值,我们只需要抠取$_CFO函数就行了。
3705f359fca5a38e612fbc6f70938dbd.png

抠取的过程写教程比较麻烦,不会抠取的平时还需要多加练习,一波操作之后,userresponse搞定了。
73594a4a222078559f714d5163fd75ec.png

接下来看看 imgload 是什么,从字面来看,图片加载?多次调试会发现该值是变化的,暂时不知道是什么东西,或许对参数生成没啥影响呢?继续往下看。
42d26aea2a94ebd49ecde4fbd8f37348.png

ep的值好像是一堆时间戳,可不可以模拟一下呢?继续往下看。
4cf5bb95b58a705dedb38693e44fe95e.png

$_DDQ函数传入的是一个字符串,由三部分拼接组成,第一部分多次测试发现应该是个定值,第二部分是取了challenge的前32个字符,后面一部分是o中passtime的值,而passtime的值又是传入的参数n的值。下面抠取函数运行看看。
2b2033514626d41a1aef5aff4eeea53f.png

可以看到结果与上图控制台输出的一致,rp的值搞定了,我们继续调试看看s值是如何生成的。
cc41dac417c0d5614a16530e2a2dbaea.png

我们找到了s的关键加密位置,new RSAKey().encrypt对一个字符串进行了加密操作, 字符串是通过调用某个函数生成的,继续调试,找到相关的信息进行抠取。
88499e372567f87998387a1f3a9c09d1.png

不错,s值出来了,继续往下看。
32867fa954976f955bd6dd0e9f289011.png

AES加密?没有进行测试,暂时选择抠取,把AES先抠取出来,然后我们看到gjson.stringify,不知道对o做了什么,控制台输出一下,跟JSON.stringify的结果一样,那我们是不是可以省掉这部分代码的抠取呢?新手的话不要偷懒。第二个参数其实就是前面提到的RSAKey所加密的字符串。自己跟进去看看就知道了。继续往下看。
88e6669c923dfa5ad05f11bf26245b62.png

对a的值进行Base64处理,我们直接抠取它的Base64就行了。接下来要做的就是看看我们抠取的w值生成算法是否有效。
c01340b15255ec03eff4eb51387b9356.png

获取新的滑块,拖动滑块停到断点处。我们只需要拿下面的四个值就可以测试。
b33d85c8b5b4539469535a454a3e768d.png

这样是不是成功了? 那么剩下的任务就是分析传入的三个参数t、e、n到底是什么?
35f5de0bbba7b0248962648c71e3a981.png

观察调用栈,找到相关位置下断点。这里重点讲讲l值是如何生成的。大概知道往一个函数里传入了三个参数。第二和第三个参数是前面请求得来的,这个你们自己抓包去看,我们看看第一个参数是怎么生成的。
24c2115e07e26e364a5f656333849aba.png
这个是不是滑动轨迹呢?我们可以把加密代码抠取出来,拿这个轨迹测试看看。
ae5bd4daaefa774bc501b03bb3d3e4d3.png

不错,结果是一样的!
dc436d4691b793f951139478ef63cefd.png

知道了里面的三个参数值是怎么来的,接下来我们需要抠取这个函数,然后拿这三个值测试看看。
8148248924c9c36dc55bc64f7b39982f.png

结果是一致的。新年第一篇教程就到这里了。祝各位朋友新年行大运,发大财!
c3951cdacb86a960c3d3f4c01c69a643.png
如果觉得教程不错,帮忙分享转发或者打赏鼓励,谢谢!

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

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

相关文章

挖掘城市ip_德国卡尔斯草莓农庄:旅游IP打造要创意更要形象!

什么是IP?名人圈:杨超越游戏圈:王者荣耀影视界:延禧攻略出版界:Harry Potter相声界:郭德纲……别忙着争先恐后,知道你的IP数不胜数~~你知道的IP数不胜数,一个人、一部作品、一个品牌、一座城市…

rust种的南瓜为什么老是消失_冷天早餐别将就,用南瓜和萝卜这样做,鲜香松软,营养好吃又管饱...

导语:11月我家爱吃这菜,加根萝卜简单一卷,有颜有料,孩子经常点名吃。冷天早餐别将就,用南瓜和萝卜这样做,鲜香松软,营养好吃又管饱“南瓜再大本地卖,辣椒再小穿省过”记得悦悦小时候…

windows下搭建python运行环境

今天python的环境炸了,刚好也重新做一下,记录下折腾的过程。 文件下载 首先打开官网,找到对应的文件的下载索引。 https://www.python.org/downloads/windows/ 其中3.7.0是版本号,a是代表稳定版本,b代表的是测试版本&…

python中isalpha的用法_python函数--isalpha()方法

原博文 2019-09-26 10:59 − isalpha()方法 描述:Python isalpha() 方法检测字符串是否只由字母组成。isalpha()方法语法:str.isalpha()参数:无。返回值:如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False…

C#数据结构-单链表

理论基础: 链表是用一组任意的存储单元来存储线性表中的数据元素。 如果结点的引用域只存储该结点直接后继结点的存储地址,则该链表叫单链表(Singly Linked List)。 单链表由头引用H唯一确定。头引用指向单链表的第一个结点,也就是把单链表第…

pandas 根据单号分类_由 “猫捉老鼠”游戏联想的用户分类问题

一、说在最前 用户识别,用户分类,精准营销…这是咱们业务人员常常念叨的话。底层逻辑为无论任何营销目的,在营销手段上,越针对某一细化群体,达成目的的概率也就会越大。那今天就来和大家说道说道用户识别/分类的一种方…

arraylist从大到小排序_java基础算法之二叉树排序(递归)

一、二叉树介绍在计算机科学中,二叉树是每个结点最多有两个子树的树结构。二叉树由各种节点组成,如下图所示:每个节点都可以有左子节点,右子节点每一个节点都有一个值二叉树遍历:二叉树的遍历分左序,中序&a…

uvm 形式验证_IC设计职位详解之“数字验证工程师”就业必学课程

数字验证处于数字IC设计流程的前端,属于数字IC设计类岗位的一种。在IC设计中,数字验证所占的人数比重是非常多的,很多大公司,数字前端设计工程师与验证工程师的比例已经达到1:3。数字验证主要分成几种层次的验证&#…

关联查询数据重复怎么办_在设计数据表的时候,是一个宽表好,还是多个维度表好?...

数据仓库每张表的搭建,主要依赖于这个表在整个数据仓库中的作用和相关意义。首先要清楚这个表的存在是为了解决那些问题,什么角色使用,怎么保证使用者尽可能好的体验解决问题。从以上所提到的角度去看待问题,拆解以下几点因素&…

用python画出叶子_太疯狂了!原来用粉笔画画,也可以这么美,简单几招教你,美到邻居羡慕嫉妒...

......点进来之前先让大家瞧瞧相信这是用粉笔画的吗?▼玫瑰花▼山茶花▼蓝色鸢尾花▼樱花树▼这一张张让人直流鼻血的作品没错这就是用色粉笔画出来的很多人问:是不是平时老师上课时用的粉笔呢?这里给大家科普下:色粉画&#xff0…

jsonp react 获取返回值_必须要会的 50 个React 面试题(下)

翻译:疯狂的技术宅原文:https://www.edureka.co/blog/interview-questions/react-interview-questions29. 你对受控组件和非受控组件了解多少?受控组件非受控组件1. 没有维持自己的状态1. 保持着自己的状态2.数据由父组件控制2.数据由 DOM 控…

snipaste截图软件滚动截图_截图工具的逆袭,Snipaste 还可以这么玩

这是我们的历史文章。为让大家更好找到自己需要的软件,我们会在三条位置推送,那些备受关注的APP和软件。提到「截图」大家会想到什么呢?微信,QQ 或者 功能更加完善的截图工具?有想过「截图」可以这样用吗?还…

plsql developer无监听程序_微信小程序支持分享到朋友圈啦!技术解读跟我来

千呼万唤始出来!微信小程序页面分享到朋友圈的功能,终于在安卓系统灰度测试了!目前只在安卓系统!只在安卓系统!只在安卓系统!iOS系统还没有办法体验。首先,我们看一下官方文档的描述&#xff0c…

mixin network_【译文】Mixin——以最高的安全性满足所有区块链资产的交易需求

一个免费的闪电般快速的数字资产端对端交易网络。01.概况Mixin 由一个理论上永久的内核、许多动态域和不同的多用途域扩展组成,以构成扩展的星形拓扑结构。Mixin Network 已经支持 BTC,BCH,ETH,EOS,ETC,SC&…

python柱形图代码_Python数据可视化:基于matplotlib绘制「条形图」

简介 条形图 (bar chart)是用宽度相同条形的高度或长短来表示数据多少的图形,可以横置或纵置。纵置时的条形图也称为 柱形图 (column chart)。 绘制条形图 1 import matplotlib.pyplot as plot 2 3 data [5., 25., 50…

源码 连接mysql_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图...

一:背景 1. 讲故事 最近看各大技术社区,不管是知乎,掘金,博客园,csdn基本上看不到有小伙伴分享sqlserver类的文章,看样子这些年sqlserver没落了,已经后继无人了,再写sqlserver是不可…

asp.net mvc使用的心得和问题的解决方法(陆续更新ing)

1、在mvc下webform的分页控件不能用&#xff0c;只好自己山寨一个轻便的。 1publicclassPageHelp2{ 3 /**//// <summary> 4 /// 总页数 5 /// </summary> 6 public int TotalPageNum { get; set; } 7 /**//// <summary…

h5 一镜到底_这些一镜到底的H5还能怎么玩?

前文《单个公众号收入过亿&#xff0c;条漫为什么成为2019风口》提到&#xff0c;加入插画元素的条漫和ps拼接的长图文正处在2019年风口&#xff0c;这种现象也适合描述H5。以往扁平化的H5内容新颖&#xff0c;但视觉上缺乏大幅度的起伏。想要让H5看起来更有律动&#xff0c;就…

打开端口_打印机ip及端口设置

越洋帮路由网原创&#xff1a;文章是关于"打印机ip及端口设置"的相关知识分享&#xff0c;希望可以帮到大家。 - 素材来源网络 编辑:小易。随着科学技术的发展&#xff0c;各种技术成果也进入到千家万户&#xff0c;近日&#xff0c;有人咨询怎样设置和修改打印机ip及…

分计算iv值_快捷、经济、实用的光伏及IV曲线测试仪PVPM 1500X

PVPM 1500X IV曲线测试仪pvpm 1500x (1500V,20ADC)可测量光伏模块以及字符串或阵列的 iv 曲线。通过专利程序, 该设备可以直接在光伏系统的安装位置测量和计算峰值功率 ppk、r 和 rp。计算结果和图表可以显示在内部彩色的 tft 显示屏上。因此, 光伏系统的质量控制可以快速、经济…