警告與聲明:
作為一位js逆向愛好者,寫本篇文章在于純技術分析。無任何不良商業目的。旨在提高大家的網絡安全意識,共同維護網絡安全環境!請不要做任何有損國家或其他集體或個人的事情, 否者後果自負!本文如有任何侵權行為,請馬上聯系作者,立馬删除。
概述
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwIzXlpXazxSPFpWTz0ERPBzZq5UQClGVF5UMR9Fd4VGdsATNfd3bkFGazxSUhxGatJGbwhFT1Y0Mk9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLjZTYxY2YkJDOlF2NwY2NiFjM4QTZ3YmYwITZjVGM3YzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
目标位址:aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby8=
極驗–全球互動安全創領者!擁有32萬家使用客戶!我們的這次分析選用官方給出的demo位址作為分析案例。
極驗提供的防禦方式大概分一鍵通過模式、滑塊、圖檔文字點選三種,下面我們就進行分别的介紹
一 極驗一鍵通過模式
1 網絡流程分析
①regist請求
進行注冊,服務端傳回gt與challenge值
請求參數為目前時間戳
②gettype.php請求
服務端傳回驗證類型,與所有類型要用到的檔案版本
該請求需要攜帶gt參數
③ get.php請求
該請求拿到配置參數
該請求攜帶了gt、challenge、w參數,其中w為本地生成值。
④ ajax.php
該請求為最後的驗證請求。成功則傳回validate值。
該請求同樣需要攜帶w參數。
2 關鍵檔案
fullpage.9.0.9.js
二 極驗滑塊-滑動模式
1 網絡流程分析
相比于一鍵通過模式,滑動模式同樣擁有regist請求和gettype.php請求,着這裡不做贅述。
①get.php請求
該請求同樣是向伺服器請求一些參數,因為這個是滑動模式,是以傳回值裡包含了一些圖檔的相關資訊
該請求隻需要攜帶gt、challenge等參數
② 圖檔請求
通過上個get.php請求擷取驗證碼圖檔位址。請求圖檔位址,擷取驗證碼圖檔。但是背景圖是被打亂順序的圖檔。我們後面專門講解背景圖的邏輯。
③ ajax.php請求
最終的驗證,如果通過驗證,服務端傳回validate值
該請求需要攜帶正常的gt、challenge外還需要攜帶一個加密參數w
2 關鍵檔案
slide.7.8.6.js
三 極驗點選
1 網絡流程分析
同樣的模式,首先是regist,然後是gettype.php,這裡不贅述
① get.php請求
該請求拿到配置參數,主要是圖檔的連結位址
該請求攜帶了gt、challenge,并沒有多餘的加密參數。
② 圖檔請求
擷取點選識别的圖檔驗證碼
該請求隻需要攜帶challenge參數
③ ajax.php
該請求為最後的驗證請求。成功則傳回validate值。
該請求同樣需要攜帶加密參數w。
2 關鍵檔案
click.3.0.4.js
總結
極驗各個模式的網絡互動模式基本一樣:
register請求擷取初始的gt、challenge值
gettype.php擷取所有驗證方式所用到的關鍵檔案版本
get.php擷取驗證的參數
ajax.php完成最終的驗證