本文章中所有內容僅供學習交流使用,不用于其他任何目的,不提供完整代碼,抓包內容、敏感網(wǎng)址、數(shù)據(jù)接口等均已做脫敏處理,嚴禁用于商業(yè)用途和非法用途,否則由此產生的一切后果均與作者無關!
本文章未經許可禁止轉載,禁止任何修改后二次傳播,擅自使用本文講解的技術而導致的任何意外,作者均不負責,若有侵權,請在公眾號【K哥爬蟲】聯(lián)系作者立即刪除!
逆向目標aHR0cHM6Ly93d3cueXVucGlhbi5jb20vcHJvZHVjdC9jYXB0Y2hh
驗證碼圖片獲取接口,GET 請求,包含四個參數(shù):cb
、i
、k
、captchaId
,有時候可能也會有token
參數(shù),那是因為不是第一次加載圖片,比如刷新圖片,會將之前接口的token
值帶上。
接口返回,如果是滑動驗證碼,則bg
是背景圖,front
是滑塊圖,還有個token
值后續(xù)會用到。
如果是點選驗證碼,則captchaImage
是底圖,wordsImage
是需要點擊的文字,同樣的有個token
值后續(xù)會用到。
驗證接口,包含五個參數(shù):cb
、i
、k
、token
、captchaId
,其中token
就是獲取驗證碼接口返回的。
先來看看獲取驗證碼圖片的接口,全局搜索關鍵字captchaId
即可定位到 key 為jsonpRequest
的地方,下圖中的t
就是完整的接口 URL 了:
往上挨個找,先看看captchaId
,其實就是this.APP_ID
,多次刷新你會發(fā)現(xiàn),對于滑塊來講,是定值974cd565f11545b6a5006d10dc324281
,對于點選來講,是定值e1e7be036f9242c7aed023438af66f46
,這兩個值在一個 JS 里是寫死的,如下圖所示:
再往上看,HOSTS
啥的是定值就不用說了,cb
就是r
,i
就是a.i
,k
就是a.k
,通過concat()
方法連接起來,所以只需要搞定r
和a
的值就行了,如下圖所示:
a
的值是通過encrypt(e)
得到的,e
里面有fp
、address
、yp_riddler_id
等值,如下圖所示:
先看看這個encrypt
方法,最終返回的是i
和k
,瞧瞧這熟悉的iv
、parse
,一看就是 AES、DES 之類的,試一下就知道了,或者跟進lt.a.encrypt()
看看他的源碼,對比一下標準算法里的源碼,就可以發(fā)現(xiàn)是 AES,k
就很明顯了,RSA 加密,公鑰啥的一搜就有。
然后往上有個yp_riddler_id
,貌似是從 cookie 中拿的,直接搜索這個關鍵字,可以找到其設置值的地方,就是一個 UUID,其中有個window.performance.now()
方法,其作用是返回一個當前頁面執(zhí)行的時間的時間戳,用來精確計算程序執(zhí)行時間,在 node 實現(xiàn)方法如下:
var perf = require('perf_hooks');
performance = perf.performance.now()
console.log(performance);
然后再往上有個e.fp = this.fingerprint
,這里用到的應該是一個指紋庫:https://github.com/fingerprintjs/fingerprintjs ,感興趣的可以了解一下,同一個瀏覽器得到的指紋是一樣的,這里固定即可。
然后就是r
的值,preAdd
方法,直接扣就行了
然后這個e
的值,再傳到jsonpRequest
之前就已經有一些值了,所以我們還得往前跟??纯矗?/p>
來到getCaptcha
這里,沒啥特別的,扣就完事兒了,其中有個browserInfo
是瀏覽器的一些東西,copy 下來就行了。
驗證接口最后也是走的jsonpRequest
,和前面的獲取圖片接口類似,不同之處就是傳入的e
里面包含的值不一樣,先來看看滑塊:
包含distanceX
和points
,很明顯points
就是軌跡了,再往前跟看看,如下圖所示,我們只需要i
和r
參數(shù)就行了,參數(shù)是一些圖片高寬,固定就行,offsetX
是滑動的距離。
主要看看這個軌跡i = this.reducePoints()
,跟進reducePoints()
方法里,this.position
是軌跡信息,這個方法對軌跡做了一些處理再返回的,直接把邏輯扣下來即可。
滑塊就到這兒了,再來看看點選驗證,同樣的還是jsonpRequest
,傳入的e
包含了三個點的坐標。
同樣往上跟棧,這里的this.position
才是真實坐標,后面每個坐標分別對 x 和 y 與圖片的寬和高進行相除,如下圖所示:
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧