实战 | 一文教你如何js逆向(一)
2024-1-10 12:54:45 Author: F12sec(查看原文) 阅读量:26 收藏


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

1.漏洞背景

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

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

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

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

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

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

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

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

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

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

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

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

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

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

附上成功截图

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

 
————————————————————
  • 往期精彩推荐

实战 | 记一次Bugcrowd实战挖掘
工具 | burp被动扫描xss神器
工具 | 无回显变可回显rce

❤️爱心三连击

1.本文已收录在明暗官方网站:http://www.php1nf0.top/



文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5NjU3NzE3OQ==&mid=2247488799&idx=3&sn=9efe61e6cb88c304fb3d0bbd764bf79e&chksm=c128b4cf41b028c2f4a51aa7fb164f44b0e8b20cb3bce6aa7a8ce7af7d040a3651360273293c&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh