验证码OXXO滑块的学习笔记之一#参数分析和图片复原
Posted 面向小白的逆向笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证码OXXO滑块的学习笔记之一#参数分析和图片复原相关的知识,希望对你有一定的参考价值。
目标网站:
Z6yoGgcmUOYnC7a1jWmDqBMDRZALpa9eORbXz8l5ozvJ+JX0d288ODMF7cY/2uxt
加密方式:
AES
的MODE_ECB
模式密钥:
bWlhbnhpYW5neGlhb2JhaWRlbml4aWFuZ2JpamkAAAA=
(解密代码见文末)
腾X滑块卡在了最后的加密分析,由于它tdc.js
是动态混淆的,暂时搞不动了,先放着。这两天遇到的OXXO
滑块,目前也是卡在了最后的加密分析,突破了这个应该能对腾X滑块有所帮助,先记录一下,啥时候突破了,下篇文章就有了~~
抓包分析,登录仅需要一个关键的验证码参数:
而滑块验证成功会返回这个,那我们就看看滑块的请求参数有哪些吧!
sid
和y
的值来自前面的请求链接,aid
可以随机,中间是时间戳,后面是个八位数,x
是滑块的偏移距离加上6,滑块当然缺少不了轨迹的加密信息,就是最上面的红框(仅截取了一小部分,还没解密出来┭┮﹏┭┮)。
前面a
链接的请求的参数多抓几次,aid
随机下就好了,关键是它的返回值,有很多有用的信息:
sid
就不多说了,o
是后面轨迹加密需要用到的token
值,p1
是背景图片,p2
是滑块图片,这里说一下,直接复制背景图片的链接放在浏览器是无法查看的,因为必须要带cookie
去请求才能成功。
用之前X验的canvas
虽然hook
到了,但是没追踪到,就尝试了另外一种:
进去之后,往上翻翻,有很显眼的drawImage
:
下断点,定位到这里,不了解drawImage
里面的参数的话,稍微去搜索了解下,也很简单,就是把剪切的图片又重新定位,上面那个i就是传进来的序列,这里一开始我以为i
和X
验一样是固定的,搞了我半天,原来序列也是动态生成的,总算是解决了图片复原。放两张图看看~:
最后附上解密代码
# 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滑块的学习笔记之一#参数分析和图片复原的主要内容,如果未能解决你的问题,请参考以下文章