猿人學第二題比賽題目


開始水第二篇,哈哈哈

http://match.yuanrenxue.com/match/2

 

 

 題目是介樣的,老規矩F12,刷新~

 

 

 這個cookie一看就有問題哈,查看了一會兒再點第2頁,漂亮,提示cookie失效,很明顯嘛,這就是個cookie反爬

清空一下cookie

 

 

 直接右鍵清除,再次刷新

 

 

 

 

 

第一頁的話已經可以看到我們需要的就是這個m的值,第二頁的cookie已經略顯不同

設置cookie的話簡單說一下,你去訪問一個網站,先去A接口設置了cookie然后又去了B接口進行驗證,獲取數據

首先我們需要去訪問A接口去設置cookie

import requests

res = requests.get('http://match.yuanrenxue.com/match/2')
print(res.text)

 

 

 然后呢就拿到了這么一串東西,那必然就是設置cookie的js,也就是說我們在這個里面設置了cookie,再去請求就可以了

看到這么多,不要慌,一看就是ob混淆,在這個題目網站的上方有個分析工具,或者自己去下載個ob混淆一鍵還原也可以哈,

然后找到下面ob混淆解析,把這串代碼的js標簽去掉,復制進去,點擊一鍵解混淆

 

 

 

再把下面的復制到webstorm中進行調試,關於webstorm激活可以看上一篇

 

 

 這樣就看起來很愉快了,也就是200來行的樣子,而且一眼就看到cookie

那就直接來看這個cookie吧,我們需要的是m的值,其他不需要的干掉

 

 

 然后來看_0x39ba95這個函數,根據前面看到的m的值,這可能是個時間戳

看下在哪里調用

 

 

 就是個時間戳,接下來看_0x9c88d5這個函數,其實也就是_0x3c2401這個函數

 

 第一段的話有興趣的可以去追一下,最簡單的判斷哈,return的東西第一個沒啥用,第二個后面沒有沒有地方調用的那就應該沒啥用了,有用的話再扣回來就行了

手動滑稽~

所以刪掉這里

 

 這兩行不能干掉的哈,對try那段感興趣的可以把這兩行干掉去看看哈

 

 

如果global怎么怎么樣,然后怎么怎么樣,否則怎么怎么樣

然后我們就來看_0x9bdac4這里,可以控制台輸出下,也可以根據剛才m那里的符號去判斷下

return navigator["vendorSub"]; = return ' ';

 

這里是個定時器,直接干掉

然后代碼就成了這樣

 

 灰常的干凈,這樣就可以直接運行跑起來了

 

 

現在只是輸出了值,還需要整合下代碼,合並下,搞下縮進,添加個調用cookie值的函數,然后傳給py程序就行了

開頭的那段一刪,整體往回縮進,多余的符號刪除

最后的console.log()改為

function getcookie() {
    return _0x58af7c(_0x1805c7())
}

console.log(getcookie());

 

 放入python中,爬取效果

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM