快手滑块验证码分析 2022/03/17
之前快手滑塊看過一遍但是沒做,前天突然接到任務,需要生成did,沒辦法只能動手搞了。
老文章: 《快手滑塊驗證碼分析 2021-10-21》
重新看了一遍流程,發現官網有一些更新。
現在雙驗證接口,分別是 /rest/zt/captcha/sliding/kSecretApiVerify 和 /rest/zt/captcha/sliding/verify
不過這倆接口是獨立校驗的,二者目前沒有關聯關系。(無論過了哪一個API的校驗,都可以使用)
本文主要說一下新的驗證接口 kSecretApiVerify 。
kSecretApiVerify
kSecretApiVerify 近期是新加的,參數是verifyParam。
如何斷點不再詳細介紹,大家可以參考老文章。
c.a[i(“0x31”)](r) 的值是驗證接口中,加密前的verifyParam。
c.a[i(“0x31”)] 等同于 urlencode。
可以在控制臺輸出 r 。
經過分析,這幾個參數含義如下:
- captchaSn 滑塊驗證碼信息
- bgPicWidth 原背景圖 Width
- bgPicHeight 原背景圖 Height
- cutPicWidth 原滑塊圖 Width
- cutPicHeight 原滑塊圖 Height
- captchaExtraParam 瀏覽器指紋信息
- gpuInfo 瀏覽器GPU信息
- trajectory 滑動軌跡
- relativeX 滑塊X軸拖動距離
- relativeY 滑塊Y軸高度
captchaSn 、bgPicWidth、bgPicHeight、cutPicWidth、cutPicHeight 是根據 captchaSession 獲取的驗證碼配置信息。
獲取接口是 /rest/zt/captcha/sliding/config
captchaExtraParam 、gpuInfo 可以設為定值
relativeY 在配置信息中有,relativeX 需要自行計算。
trajectory 我們處理時需要由拖動距離生成。
trajectory
有行為檢測,代碼生成的勻速軌跡并不能通過校驗,手動去復制吧。
操作方法如文章所示:《快手本地軌跡庫制作方法》
verifyParam
kSecretApiVerify接口提交的參數是加密的,也就是說需要對明文的verifyParam加密。
還是斷點后往下調試就行,具體步驟我就不貼了。
總之,加密是先 o = l(a) ,再 d(x) , 不過需要注意 d(o) 是Promise 類型。
l 比較簡單,d 是一段加密。
再具體就自己點進去看吧。
點進去,發現新大陸了。
加密在這個文件,拿出來自己測吧。
Verify
驗證成功會返回 captchaToken。
一般驗證參數錯誤,軌跡錯誤,返回350014 。
整體流程
歡迎關注《pythonlx》公眾號,可獲取群聊二維碼!
有問題可私信或留言!
總結
以上是生活随笔為你收集整理的快手滑块验证码分析 2022/03/17的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两个ID
- 下一篇: NFC 验证平台搭建