B站登录+极验点选

本文详述了如何通过抓包分析进行B站模拟登录的过程,涉及极验验证的无感点选及滑块验证,以及密码的RSA加密处理。在点选验证中,解析了坐标处理方式,并揭示了登录包中的关键参数。此外,还讨论了异地风控的应对策略,整个流程展示了爬虫技术在登录场景的应用。

前言:本文章只供学习使用,不作为其他用途,如有侵犯到您的隐私,联系我删除博文

网址:aHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tLw==

本来说要去极验官网做练手的,后来发现B站上的就是极验点选,那就正好,直接顺带一波模拟登录。

老规矩,抓包分析。首先这个第一个包,这三个参数都能用到,我们先记录下来

第二次是请求了极验拿回了极验的JS文件

第三次请求是第一次极验的无感验证,这个值可传可不传,如果想传那就看我极验滑块哪个文章就行。因为极验算法都是一套的

 三部曲完毕以后,开始输入账号密码,点击登录。看到再一次请求了极验,又一次的无感验证,但是也是可写可不写的。所以我将其滞空了。

 

这边有一次向极验发送了请求,这个地方的值就必须全部填写,有些值是需要保存下来的

 这边步骤完成以后,我们开始输入点选,向极验发送请求,这边故意输入错误,然后开始跟栈,看一下这个加密的w值是如何生成的。

 

这边跟栈的话没什么技巧,跟滑块一样,我这边直接跟过去了。下上断点,看到了o值,简单分析一下

 这边就不跟极验的坐标是经过特殊处理的,我这边直接放出来吧

final_x = int((x / 333.375) * 100 * 100)
final_y = int((y / 333.375) * 100 * 100)

其余剩下的点选没什么了,只要按照滑块的正常扣就可以了,甚至位置都没变。极验的算法就是那么两套。

这边注意,极验发送完成后的一个成功值,这边也是需要用到的,需要提前保持下来

最后分析一下登录的包

 

现在就是就要扣取他的一个密码加密了,这边发包请求一下,因为是异步,我这边异步跟栈是在太拉跨了,所以就用了一点小技巧直接定位过去了,发现了两个值,这边就能判断是加了盐的RSA了,怎么扣RSA,这边就不详细介绍了。

 

回头搜索了一下这个加盐值,发现这边这个加盐值跟rsa的key值都是传过来的。那么就更好办了,每次请求密码之前请求一下这个包就行了

 最后整个B站流程分析完毕,让我们来尝试一下登录。

 因为我测试过多,B站无情的封了我的账号,我使用其他账号登录,这边触发了异地风控,需要短信验证。所以这边整体没什么大问题。B站的登录流程算是彻底分析完毕,也算我学爬虫的一个里程碑吧!

结言:我是一个热爱爬虫的小菜鸟,欢迎各位大佬来跟我讨论,文章有任何不对的地方也欢迎指出。

<think>好的,我现在需要解决用户的问题,即如何生成极验4点选验证码的userresponse参数。首先,我需要了解极验4点选验证码的基本流程和相关参数。根据用户提供的引用内容,特别是引用[2]中提到极验四代滑块验证码的加密参数w的生成变得简单,这可能意味着点选验证码的userresponse生成也有类似的简化逻辑。 首先,userresponse通常是用户操作后的加密结果,可能包含坐标、时间等信息。对于点选验证码,用户需要点击图片中的特定位置,系统会记录这些点击的坐标,并进行加密处理生成userresponse。因此,生成userresponse的关键在于正确加密坐标数据。 接下来,参考引用[3]中提到点选验证码需要生成随机汉字的坐标,这可能与极验4的点选逻辑相似。用户点击的位置坐标需要被加密,可能使用特定的算法,如AES或RSA,或者自定义的哈希处理。此外,可能需要考虑时间戳、轨迹数据等其他参数,但根据极验四代的简化特点,可能主要关注坐标转换。 然后,我需要确定加密的具体步骤。根据极验三代的经验,userresponse可能由坐标值经过某种计算得出,比如将坐标转换为字符串后进行位移或拼接,再进行Base64编码或哈希处理。例如,每个坐标点的x和y值可能被处理成特定格式的字符串,再进行拼接和加密。 另外,引用[2]中提到的逆向分析流程可能适用。通过抓包获取生成userresponse的请求,分析其中的参数变化,找到加密前的原始数据结构和加密方法。可能需要使用Python中的加密库,如hashlib、hmac或cryptography,来实现相同的加密逻辑。 需要注意的是,极验四代可能引入了新的参数或不同的加密密钥,因此需要实际抓取最新的验证码请求进行分析。此外,动态参数如challenge或token可能影响加密过程,必须确保这些参数的正确获取和参与计算。 总结步骤可能包括:获取用户点击的坐标点列表,将每个坐标转换为特定格式的字符串,拼接所有坐标数据,进行加密(如HMAC-SHA256),再编码(如Base64或十六进制),最终生成userresponse参数。此外,可能需要处理时间戳和轨迹数据,但根据极验四代的简化,可能主要关注坐标处理。 最后,验证生成的userresponse是否有效,需要通过实际测试,模拟请求并检查服务端的响应是否通过验证。可能需要多次调试和调整加密参数或算法,确保生成的userresponse符合服务端的要求。</think>### 极验4点选验证码userresponse生成方法 1. **核心参数分析** 极验四代点选验证码的`userresponse`是加密后的用户点击坐标数据,用于服务端验证操作真实性。其生成逻辑通常包含以下步骤: - **坐标采集**:记录用户点击的汉字位置坐标,例如点击点$P_1(x_1,y_1), P_2(x_2,y_2)$等。 - **数据拼接**:将坐标转换为字符串并拼接,例如: ``` raw_str = f"{x1},{y1}|{x2},{y2}|..." ``` - **加密处理**:使用特定算法(如HMAC-SHA256)结合动态密钥(如服务端下发的`challenge`)进行加密[^2]。 2. **加密实现示例(Python)** ```python import hmac import hashlib import base64 def generate_userresponse(coords, challenge): # 坐标转换为字符串,例如:"12,56|89,30" coord_str = "|".join([f"{x},{y}" for x, y in coords]) # 使用HMAC-SHA256加密 hmac_obj = hmac.new(challenge.encode(), coord_str.encode(), hashlib.sha256) digest = hmac_obj.digest() # Base64编码生成最终userresponse return base64.b64encode(digest).decode() ``` 3. **关键注意事项** - **动态参数依赖**:`challenge`参数需从验证码初始化请求中获取,具有时效性。 - **轨迹模拟**:部分高级场景需生成鼠标移动轨迹数据,但极验四代可能对此要求较低。 - **坐标精度**:坐标需与实际点击位置误差控制在±3像素内,否则触发异常检测[^3]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值