极验3逆向 JS逆向最新点选验证码 逆向分析详解

目录

声明!

一、请求流程分析

二、w参数生成位置

三、主要问题

四、结果展示

原创文章,请勿转载!

本文内容仅限于安全研究,不公开具体源码。维护网络安全,人人有责。

声明!

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关。
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除,请各位自觉遵守相关法律法规。

具体位置为官网的demo(float):demo 列表

一、请求流程分析

1.拿gt与challenge

2.根据gt与challeng拿到验证码等信息

3.拿到验证码进行后计算出距离

4.根据得出的距离进行加密,得到w参数,即可校验是否通过

5.通过后会响应带指的 validate

二、w参数生成位置

1.跟旧版的点选差不多,找参数生成位置的办法,就是再click.js文件中搜索关键词 "\u0077",就可以找到w的生成位置,例如:

2.找到生成位置后,我们发现是由p+u生成的,而p和u就在上面,这个时候思路就清晰多了,打上断点,看看p和u是怎么生成的:

3.可以看得出来,p和u就是在这个地方生成的,扣代码的话可以从这个地方开始扣了,由于代码是经过ob混淆的,我们可以先解混淆,这样更方便我们调试:

三、主要问题

1.做到一半,可以发现轨迹值是经过特殊处理的,例如:

2.这个很简单,就基本的加减乘除,result传递原始的坐标位置即可。以下代码即可处理:

复制代码
	def set_xy(self, result):
		res_a = str()
		for info in result.split('|'):
			final_x = int(round(int(info.split(',')[0]) / 333.38 * 100 * 100, 0))
			final_y = int(round(int(info.split(',')[1]) / 333.38 * 100 * 100, 0))
			res_a += str(final_x) + '_' + str(final_y) + ','
		return res_a.strip(',')

四、结果展示

创作不易求个赞再走~~~

学习交流QQ:450297392

相关推荐
IT毕设实战小研8 小时前
基于安卓的空气质量查询系统
android·大数据·vue.js·爬虫·python·django·课程设计
benchmark_cc11 小时前
1000只ETF的5分钟K线如何批量获取?QuantDash分页策略与高性能Python实践
开发语言·人工智能·爬虫·python·算法·quantdash·量化数据源
跨境观察员小周12 小时前
Crawl4AI 零基础入门:网页爬虫保姆级教程
爬虫
绘梨衣5471 天前
异步任务队列-学习2
爬虫·python·学习·任务队列
Python大数据分析@1 天前
推荐一个好用的爬虫CLI工具
爬虫·网络爬虫
傻啦嘿哟2 天前
某宝商品爬虫:破解反爬的终极方案(含IP代理池+User-Agent轮换)
爬虫·网络协议·tcp/ip
棉晗榜2 天前
C# HttpClient配置具有tls指纹发起跟浏览器一样的请求解决反爬虫防护
开发语言·爬虫·c#
、如果2 天前
推文评论数据怎么拿?X(Twitter)评论分析 Skill 的工程拆解与实测
爬虫·ai编程·twitter
安全小王子2 天前
nssctf_chicken_soup
网络安全·逆向·ctf·nssctf
安全小王子2 天前
nssctf——老鼠走迷宫
网络安全·逆向·ctf·nssctf