Python 爬蟲進(jìn)階必備 | 某代理免費(fèi)頁面數(shù)據(jù)加密邏輯分析
第一時(shí)間關(guān)注Python技術(shù)干貨!
今日網(wǎng)站
aHR0cHM6Ly93d3cuYmFpYmlhbmlwLmNvbS9ob21lL2ZyZWUuaHRtbA==
現(xiàn)在做代理也不容易啊,時(shí)不時(shí)要和友商對(duì)線,還得時(shí)刻警惕吃免費(fèi)飯的風(fēng)險(xiǎn),大家都不容易。
加密分析與定位
老規(guī)矩先看網(wǎng)站的加密在哪里?
訪問網(wǎng)頁可以看到頁面上是展示著免費(fèi) IP 的信息
“爬蟲新手經(jīng)常喜歡整點(diǎn)免費(fèi)代理池,爬爬妹子圖啥的
遇到這個(gè)網(wǎng)站就比較難受了,IP 在頁面源碼上的展示是下面這樣的

IP 信息的位置是下面這樣的代碼
FFsempstress('ZGLlZGHkAwZ3AwDmYwV1ZP4kZwDhBGtkAwZlAmZ5BQpl');
像這類加密就是檢索就能一把梭出來的加密
而且因?yàn)樵陧撁嫔霞虞d的所以想通過Initiator找堆棧也是沒有值的

檢索的結(jié)果如下

只有兩個(gè),出去free.html另外一個(gè)應(yīng)該就是加密的位置了。
進(jìn)入 js 文件,看到下面的代碼
function FFsempstress(s) {
document.write(ddip(s));
}
可以看到FFsempstress這里調(diào)用的其實(shí)還是ddip這個(gè)方法,在頁面里重新檢索ddip這個(gè)方法
可以看到如下的位置

ddip在一個(gè)eval里,回顧上一節(jié)的內(nèi)容
eval處理可以直接一把梭出來

function ddip(e0){e1=r13(e0.toString());e2=$.base64.decode(e1);e3=e2.toString().substr(10);l3=e3.length;e4=e3.substr(0,l3-10);return e4}
這里可以看到用到了r13...等函數(shù),繼續(xù)在頁面檢索

可以看到在上一個(gè)eval里面
解開是下面的代碼


和之前的代碼拼在一塊,愉快的運(yùn)行一下
很好,報(bào)錯(cuò)了,報(bào)錯(cuò)不用怕,先看看錯(cuò)誤提示
提示如下

提示$沒有定義,我們自己定義一下,
var $ = {};
直接找到這個(gè)$的位置復(fù)制粘貼進(jìn)去
“把匿名函數(shù)傳入的 jquery 修改成 $
然后就完事了,結(jié)果如下

又是一篇熱氣騰騰的新手教學(xué)文。
好了,今天的文章就到這里,我們下次再會(huì)~
使用 “鈔” 能力 | 安利兩套安卓+JS逆向課程,適合初中高級(jí)爬蟲逆向
對(duì)了,看完記得一鍵四連,這個(gè)對(duì)我真的很重要。
