真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【驗證碼逆向專欄】某片滑塊、點選驗證碼逆向分析-創(chuàng)新互聯(lián)

網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、重慶小程序開發(fā)公司、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了敘州免費建站歡迎大家使用!聲明

本文章中所有內容僅供學習交流使用,不用于其他任何目的,不提供完整代碼,抓包內容、敏感網(wǎng)址、數(shù)據(jù)接口等均已做脫敏處理,嚴禁用于商業(yè)用途和非法用途,否則由此產生的一切后果均與作者無關!

本文章未經許可禁止轉載,禁止任何修改后二次傳播,擅自使用本文講解的技術而導致的任何意外,作者均不負責,若有侵權,請在公眾號【K哥爬蟲】聯(lián)系作者立即刪除!

逆向目標
  • 目標:某片的滑動驗證碼和點選驗證碼逆向
  • 主頁:aHR0cHM6Ly93d3cueXVucGlhbi5jb20vcHJvZHVjdC9jYXB0Y2hh

01

抓包分析

驗證碼圖片獲取接口,GET 請求,包含四個參數(shù):cb、ik、captchaId,有時候可能也會有token參數(shù),那是因為不是第一次加載圖片,比如刷新圖片,會將之前接口的token值帶上。

02

接口返回,如果是滑動驗證碼,則bg是背景圖,front是滑塊圖,還有個token值后續(xù)會用到。

03

如果是點選驗證碼,則captchaImage是底圖,wordsImage是需要點擊的文字,同樣的有個token值后續(xù)會用到。

04

驗證接口,包含五個參數(shù):cb、ik、token、captchaId,其中token就是獲取驗證碼接口返回的。

05

06

逆向分析 圖片接口

先來看看獲取驗證碼圖片的接口,全局搜索關鍵字captchaId即可定位到 key 為jsonpRequest的地方,下圖中的t就是完整的接口 URL 了:

07

往上挨個找,先看看captchaId,其實就是this.APP_ID,多次刷新你會發(fā)現(xiàn),對于滑塊來講,是定值974cd565f11545b6a5006d10dc324281,對于點選來講,是定值e1e7be036f9242c7aed023438af66f46,這兩個值在一個 JS 里是寫死的,如下圖所示:

08

09

再往上看,HOSTS啥的是定值就不用說了,cb就是r,i就是a.i,k就是a.k,通過concat()方法連接起來,所以只需要搞定ra的值就行了,如下圖所示:

10

a的值是通過encrypt(e)得到的,e里面有fp、address、yp_riddler_id等值,如下圖所示:

11

先看看這個encrypt方法,最終返回的是ik,瞧瞧這熟悉的ivparse,一看就是 AES、DES 之類的,試一下就知道了,或者跟進lt.a.encrypt()看看他的源碼,對比一下標準算法里的源碼,就可以發(fā)現(xiàn)是 AES,k就很明顯了,RSA 加密,公鑰啥的一搜就有。

12

然后往上有個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);

13

14

然后再往上有個e.fp = this.fingerprint,這里用到的應該是一個指紋庫:https://github.com/fingerprintjs/fingerprintjs ,感興趣的可以了解一下,同一個瀏覽器得到的指紋是一樣的,這里固定即可。

15

然后就是r的值,preAdd方法,直接扣就行了

16

17

然后這個e的值,再傳到jsonpRequest之前就已經有一些值了,所以我們還得往前跟??纯矗?/p>

18

來到getCaptcha這里,沒啥特別的,扣就完事兒了,其中有個browserInfo是瀏覽器的一些東西,copy 下來就行了。

19

驗證接口

驗證接口最后也是走的jsonpRequest,和前面的獲取圖片接口類似,不同之處就是傳入的e里面包含的值不一樣,先來看看滑塊:

20

包含distanceXpoints,很明顯points就是軌跡了,再往前跟看看,如下圖所示,我們只需要ir參數(shù)就行了,參數(shù)是一些圖片高寬,固定就行,offsetX是滑動的距離。

21

主要看看這個軌跡i = this.reducePoints(),跟進reducePoints()方法里,this.position是軌跡信息,這個方法對軌跡做了一些處理再返回的,直接把邏輯扣下來即可。

22

滑塊就到這兒了,再來看看點選驗證,同樣的還是jsonpRequest,傳入的e包含了三個點的坐標。

23

同樣往上跟棧,這里的this.position才是真實坐標,后面每個坐標分別對 x 和 y 與圖片的寬和高進行相除,如下圖所示:

24

結果驗證

25

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


名稱欄目:【驗證碼逆向專欄】某片滑塊、點選驗證碼逆向分析-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/depjhp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部