2980邮箱多种类验证码逆向
内容提要
本文介绍了逆向分析滑块、点选和旋转验证码的操作流程。通过抓包分析,找到了验证码的构造方式和加解密操作。文章还提供了解决滑块验证码的图片乱序问题的代码,并介绍了点选和旋转验证码的关键参数生成方法。最后,文章总结了需要逆向分析的目标和相关知识。
延伸解读
验证码类型与加解密共性
文章指出2980邮箱的验证码会动态变换,包括滑块、点选、旋转、拼图乱序、钟表等类型。虽然类型多样,但不同类别的加解密操作相同,主要区别在于明文参数的构造。这意味着逆向分析时,可以复用同一套加解密逻辑,只需针对不同验证码调整参数生成方式,降低了整体分析难度。
关键参数生成与加密方式
逆向分析中,sign值通过SHA256生成,k值通过AES(ECB模式)加密,mes值则用相同密钥的AES解密。请求参数如portion、cn、timestamp、signature等需要逆向,其中signature由多层MD5计算得出。这些加密方式在JavaScript中实现,通过断点或HOOK可定位生成位置,为后续模拟请求提供基础。
不同验证码的明文差异
点选验证码的明文包含点选轨迹和点击行为,portion为点击坐标与图片宽高的比例;滑块验证码的明文包含滑动轨迹和计算后的滑块距离,其portion通过特定函数迭代计算,使识别距离与真实距离接近;旋转验证码的明文包含识别角度和旋转滑动轨迹,滑动距离为角度乘以0.6。这些差异决定了请求负载的构造方式。
滑块图片乱序还原方法
滑块验证码的图片是乱序的,需要根据mes解密后的list数组进行还原。文章提供了Python代码,将图片按比例分割成小块,再根据list中的索引重新排序并拼接。其他类型验证码的图片不需要此步骤。还原后的图片可用于识别滑块距离,进而生成正确的滑动轨迹。
Q&A
2980邮箱验证码的逆向分析主要包括哪些类型?
主要包括滑块、点选和旋转验证码。
如何进行滑块验证码的加解密操作?
滑块验证码的加解密操作包括抓包、调试和分析相关参数,使用SHA256和AES加密。
滑块验证码的图片请求接口返回了哪些参数?
返回的参数包括token、appid和k等。
点选验证码的关键参数有哪些?
点选验证码的关键参数包括点选轨迹和点击行为。
如何解决滑块验证码的图片乱序问题?
可以使用提供的还原图片的测试代码来解决滑块验证码的图片乱序问题。
旋转验证码的识别角度是如何计算的?
旋转验证码的识别角度通过滑动条滑动的距离来计算。