实战 | 一文教你如何js逆向(一)

admin 2023年12月26日21:15:08评论40 views字数 836阅读2分47秒阅读模式

申明:本次测试只作为学习用处,请勿未授权进行渗透测试,切勿用于其它用途!
公众号现在只对常读和星标的公众号才展示大图推送,
建议大家把 明暗安全
设为星标,否则可能就看不到啦!

1.漏洞背景

在渗透测试中,会经常遇到验证码问题,那么下面就针对某验4代滑块逆向展开说说。domo地址:https://www.geetest.com/adaptive-captcha-demo

首先加载页面,打开F12,会发现有一个/load的请求,返回包中含有后面进行滑块验证所需要的参数,请求包中的captcha_id可以理解为代表着每个站点的ID,后面逆向完成后只需要更改该ID值即可通杀。challenge为一串字符串,该版本没有进行验证,可以固定写死。其余参数不进行过多的叙述均见名知意。

实战 | 一文教你如何js逆向(一)

接下来我们滑动滑块发送了一个/verify请求,请求体中的w值则是本篇文章重点分析的对象。其余参数不过多叙述,细心的小伙伴会发现其中的奥妙。

实战 | 一文教你如何js逆向(一)

在F12中进行断点调试,在第一个堆栈打上断点

实战 | 一文教你如何js逆向(一)

拖动滑块,发现在刚刚的断点已经断住,接下来我们观察堆栈进行跟栈调试。

实战 | 一文教你如何js逆向(一)

在右侧堆栈中跳转到i中,在上面发现了w的值,变量为r,继续向上分析

实战 | 一文教你如何js逆向(一)

发现 定义了r变量 var r = (0,m[$BIAII(84)])(f[$BIAII(84)]$_BIAII(578), s)

实战 | 一文教你如何js逆向(一)

在控制台执行这句话,发现可以拿到w的值

实战 | 一文教你如何js逆向(一)

接下来的重点任务就是分析加密和传值。有两个参数,分别是e,和s。本文不叙述该值是如何生成的,只讲解加密函数

熟悉JS逆向的小伙伴应该都能看出,m[$_BIAII(84)]为加密函数

我们进入加密函数,重新发包让他在加密函数中停止。

实战 | 一文教你如何js逆向(一)

后续大家可以进行扣代码,或者补环境的方式进行调用。

下面我直接将函数导出,即可直接调用。

实战 | 一文教你如何js逆向(一)

直接运行window.qingtong()即可调用。

附上成功截图

实战 | 一文教你如何js逆向(一)

欲知后事如何,关注公众号,后续继续深入分析。

————————————————————

原文始发于微信公众号(F12sec):实战 | 一文教你如何js逆向(一)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月26日21:15:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战 | 一文教你如何js逆向(一)http://cn-sec.com/archives/2337310.html

发表评论

匿名网友 填写信息