申明:本次测试只作为学习用处,请勿未授权进行渗透测试,切勿用于其它用途!
公众号现在只对常读和星标的公众号才展示大图推送,
建议大家把 明暗安全
设为星标,否则可能就看不到啦!
在渗透测试中,会经常遇到验证码问题,那么下面就针对某验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()即可调用。
附上成功截图
欲知后事如何,关注公众号,后续继续深入分析。
往期精彩推荐
1.本文已收录在明暗官方网站:http://www.php1nf0.top/