開篇寄語
首先,開篇之前我先說點廢話吧,本人平時在公司上班,工作也挺忙的,並沒有太多時間靜下心來調試js,特別是極驗這種,太費心費力了 ,當然也有很大原因是我太菜,哈哈
其次,這次開篇,計划是分篇介紹下每個參數的處理方式,並改寫成python3版本,對我個人來說,是個不小的工程,我自己都不敢保證最后我會成功或者堅持走到最后
至於為什么還要選擇開篇,主要是我怕我目前零星時間堆積下來的東西,被我遺忘了,記錄下來如果還可以幫助學習python及爬蟲的同學,對那些摩拳擦掌,想要和極驗對拼一波的勇士,能夠有點作用,甚至激發點小靈感,想想還是很開心的
最后簡單介紹下極驗吧,武漢極意網絡科技有限公司(簡稱極驗),是一家以技術為核心,數據為驅動,從安全,運營,產品層面賦能業務發展的解決方案提供商,創立於2012年10月24日,開創"行為式驗證"技術,利用生物特征與人工智能技術解決交互安全問題,抵御惡意攻擊,保護企業資產,這些是官網描述,在我看來,極驗驗證是大數據產物,把傳統的任務式驗證,變成了有趣的游戲式驗證,創意十足。
抓包分析
我這里就不介紹我的目標網站了哈,原因是和這個網站相愛相殺了兩年,從最開始每天采集他們百萬數據,到后來不得已使用代理IP,adsl撥號機器,極驗打碼平台,前段時間打碼平台被封了,才決定要立志自己研究,期間和目標網站共同‘學習和進步’,倍感開心, 哈哈,所以這里暫不介紹目標網站,直接進入正題
StartCaptchaServlet 鏈接

{"success":1,"gt":"a7989708fd71c409a267f4f12897d794","challenge":"512e49df5ad673f6c28b3f5d2ddc4385"}
gettype.php 鏈接

1 gt: a7989708fd71c409a267f4f12897d794 2 callback: geetest_1563886619164
返回該版本極驗所使用的js路徑,也引出了我們的主角 path: “/static/js/geetest.6.0.9.js”
geetest_1563886619164( { "status": "success", "data": { "beeline": "/static/js/beeline.1.0.1.js", "maze": "/static/js/maze.1.0.1.js", "path": "/static/js/geetest.6.0.9.js", "static_servers": ["static.geetest.com", "dn-staticdown.qbox.me"], "type": "slide", "voice": "/static/js/voice.1.2.0.js", "pencil": "/static/js/pencil.1.0.3.js" } })
get.php 鏈接

gt: a7989708fd71c409a267f4f12897d794 challenge: 512e49df5ad673f6c28b3f5d2ddc4385 product: embed offline: false protocol: https:// beeline: /static/js/beeline.1.0.1.js maze: /static/js/maze.1.0.1.js path: /static/js/geetest.6.0.9.js type: slide voice: /static/js/voice.1.2.0.js pencil: /static/js/pencil.1.0.3.js callback: geetest_1563886621229
不難發現,這個請求的參數,來自於鏈接1和2的返回值,該鏈接返回當前極驗的各種配置,這些參數在破解時幾乎都是有用的,這里就全給展示了
geetest_1563886621229( { "theme": "golden", "challenge": "512e49df5ad673f6c28b3f5d2ddc4385b7", "hide_delay": 800, "gt": "a7989708fd71c409a267f4f12897d794", "static_servers": ["static.geetest.com/", "dn-staticdown.qbox.me/"], "benchmark": false, "clean": false, "bg": "pictures/gt/6121c49a0/bg/6d26754d1.jpg", "s": "525a464f", "https": true, "api_server": "https://api.geetest.com/", "fullbg": "pictures/gt/6121c49a0/6121c49a0.jpg", "id": "a512e49df5ad673f6c28b3f5d2ddc4385", "show_delay": 250, "feedback": "https://www.geetest.com/contact#report", "product": "embed", "template": "", "c": [12, 58, 98, 36, 43, 95, 62, 15, 12], "type": "slide", "fullpage": false, "ypos": 10, "version": "6.0.9", "i18n_labels": { "refresh":"刷新驗證", "voice":"視力障礙", "success":"sec 秒的速度超過 score% 的用戶", "forbidden":"哇哦~怪物吃了拼圖請 3 秒后重試", "tip":"請完成下方驗證", "cancel":"取消", "loading":"加載中...", "error":"出現錯誤, 請關閉驗證重試", "logo":"由極驗提供技術支持", "slide":"拖動左邊滑塊完成上方拼圖", "close":"關閉驗證", "fail":"拖動滑塊將懸浮圖像正確拼合", "feedback":"幫助反饋" }, "slice": "pictures/gt/6121c49a0/slice/6d26754d1.png", "height": 116, "logo": true, "mobile": false, "so": 0, "xpos": 0, "link": "", "theme_version": "3.2.0" })
ajax.php 滑動極驗成功

gt: a7989708fd71c409a267f4f12897d794
challenge: 512e49df5ad673f6c28b3f5d2ddc4385fo
w: aOIzh70iaN)jtEQR)9oq4)ROOwRTTh0uJcPPn5NZmoYxXG9lePgzFzouUk1byZ)R2gZhLWn8FiXuR2jss3mtn9Cxyc28MPz47IlaI2Tv0pyNNx8gF2sBdRfjHbMd0mUOv(pZ1nH4amhMS)rVaDZpEqJ12jPWAv2Jf3AgVgeQJ7YMkv9wDFZAfGBzlycBPTwy8kbEYSIOKCJN7AEJ0euhzIaGNHZllmyRo)uZVC(8qbJy46gfxc12XZ4v8sSSKKDjI1y48Kcg55iULvmn7W0U7Bs5)fwWrLy6JyEPd9mRO0qQgmETp4k77Gp4ZC2Rdvl)zAr9(gLIzS0bkN3Pm6ZhH(5Ov5PbWcPrwNul7t)I6nI.612cf2c5a911d1994db6f27f18e42da67125611db92b674102fe471331ca58c4ef295a26d9d8bf4845d68b711a9ea60b9713d4ef19a7066b7ff0e8a7dca0a901f1e557e2a48e40dae36e38773e7f84e0022cb2f347ec08dd343e77c1fb035ac79f89d1c51c070b924b7ec0fdc254c09f1995b64ff04d53d0ee08998fca1eb51b
callback: geetest_1563888591297
該請求參數的w值,是我們完成極驗破解的關鍵,該鏈接返回結果信息和validate參數
geetest_1563888591297({"success": 1, "validate": "86498aa6abab95b11509c8a8e4bc261d", "score": "3", "message": "success"})
ajax.php 滑動極驗失敗
gt: a7989708fd71c409a267f4f12897d794
challenge: 512e49df5ad673f6c28b3f5d2ddc4385fo
w: aOIzh70iaN)jtEQR)9oq426XCeOuuREDA1HRt7H7O7OJGxW15VlYdNGAJ1NcniZFLEoOoBj33QUssLV3XSHHWgGSGe2)3nNIvLO8lTE7)(bJajs(RZp98Opdd8sibMY9OERiPulJN03pDQFqINVeu61UNKmkkX18RFLBUDe7ag3w2Obc(kaSlMriwMfWiYY398PAnjfUsYsvul)ovfAcCFi48K1w0WWZ39bc3JyVSPDSMT6jHcbpNLfK4v4JnGFa4ZRpAPZvnHmlfharqD9PByZ9JO7UsXkUQ6)XlOnCor7s870LKEJ3QI(g1B2C8Ws2KBMH1)e9fsDg5UNW8YPWB)P6dIhkmYeDl(OdgCub5O1zPeHAl2DA7zn26uwH006wVifCKGPKx7c0ufohbHGlxg..8e090b119198624496757a509be31f61fc2ee61fea3d351434c0b8bdd85c7f6c43c303cb848d5388948c86a9b07c7e0fecef639dc39b8e18d2372dd5dd3bc23e45ccd754fc79bf35071ec24951659e50aef735a9b381dc7cbf1931c3283268eb751f22fd6ea524fe9c50afd83d2a8e8ad3a63aa794ef71e68dd6005f787305c7
callback: geetest_1563888325048
geetest_1563888325048({"success": 0, "message": "fail"})
轉自https://blog.csdn.net/SpiritedAway1106/article/details/97036932
