验证码OXXO滑块的学习笔记之一#参数分析和图片复原

Posted 面向小白的逆向笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证码OXXO滑块的学习笔记之一#参数分析和图片复原相关的知识,希望对你有一定的参考价值。




新战场



目标网站:Z6yoGgcmUOYnC7a1jWmDqBMDRZALpa9eORbXz8l5ozvJ+JX0d288ODMF7cY/2uxt

加密方式:AESMODE_ECB模式

密钥:bWlhbnhpYW5neGlhb2JhaWRlbml4aWFuZ2JpamkAAAA=

(解密代码见文末)

腾X滑块卡在了最后的加密分析,由于它tdc.js是动态混淆的,暂时搞不动了,先放着。这两天遇到的OXXO滑块,目前也是卡在了最后的加密分析,突破了这个应该能对腾X滑块有所帮助,先记录一下,啥时候突破了,下篇文章就有了~~




简易流程分析



抓包分析,登录仅需要一个关键的验证码参数:

而滑块验证成功会返回这个,那我们就看看滑块的请求参数有哪些吧!

【验证码】OXXO滑块的学习笔记之一#参数分析和图片复原

sidy的值来自前面的请求链接,aid可以随机,中间是时间戳,后面是个八位数,x是滑块的偏移距离加上6,滑块当然缺少不了轨迹的加密信息,就是最上面的红框(仅截取了一小部分,还没解密出来┭┮﹏┭┮)。

前面a链接的请求的参数多抓几次,aid随机下就好了,关键是它的返回值,有很多有用的信息:

【验证码】OXXO滑块的学习笔记之一#参数分析和图片复原

sid就不多说了,o是后面轨迹加密需要用到的token值,p1是背景图片,p2是滑块图片,这里说一下,直接复制背景图片的链接放在浏览器是无法查看的,因为必须要带cookie去请求才能成功。




图片复原



用之前X验的canvas虽然hook到了,但是没追踪到,就尝试了另外一种:

【验证码】OXXO滑块的学习笔记之一#参数分析和图片复原

进去之后,往上翻翻,有很显眼的drawImage

【验证码】OXXO滑块的学习笔记之一#参数分析和图片复原

下断点,定位到这里,不了解drawImage里面的参数的话,稍微去搜索了解下,也很简单,就是把剪切的图片又重新定位,上面那个i就是传进来的序列,这里一开始我以为iX验一样是固定的,搞了我半天,原来序列也是动态生成的,总算是解决了图片复原。放两张图看看~:


最后附上解密代码

# pip install pycryptodome
from Crypto.Cipher import AES
import base64

value = "Z6yoGgcmUOYnC7a1jWmDqBMDRZALpa9eORbXz8l5ozvJ+JX0d288ODMF7cY/2uxt"
key = "bWlhbnhpYW5neGlhb2JhaWRlbml4aWFuZ2JpamkAAAA="

def encrypt(key,value):
   key = base64.b64decode(key)
   print(key.decode("utf8").strip("\0"))
   aes = AES.new(key,AES.MODE_ECB)
   value = base64.decodebytes(value.encode("utf8"))
   url = aes.decrypt(value).decode('utf8').strip("\0")
   print(url)

def main():
   encrypt(key,value)

if __name__ == '__main__':
   main()

好吧~今天就到这里了~


【遵纪守法】文章内的代码仅供交流参考,不得用于非法活动!

【侵权声明】如果文章有任何冒犯到您的地方,请第一时间联系我进行处理,谢谢!


以上是关于验证码OXXO滑块的学习笔记之一#参数分析和图片复原的主要内容,如果未能解决你的问题,请参考以下文章

利用深度学习识别滑动验证码缺口位置

爬虫学习笔记(十九)—— 滑动验证码

QQ滑块登陆验证码识别的脚本源码

验证码逆向专栏某验“初代”滑块验证码逆向分析

不写代码,如何用深度学习自动识别滑动验证码缺口位置?

滑块验证码(腾讯)——基于selenium,pillow实现