破解雲鎖伺服器安全軟體的反爬機制 python

2021-09-21 14:30:23 字數 3904 閱讀 6889

雲鎖其實是個伺服器安全軟體,主業也不是反爬蟲,不過有一條是可以防止cc攻擊,而爬蟲行為就像是頻次不高的cc攻擊,因而直接請求目標站並不能返回目標內容。

最近正好做了個需求抓取 中國土地市場網 上的一些資訊,這個**剛好就使用了雲鎖。

也沒有多高明,無非就是常用的:

封禁高頻ip

放個cookie

第乙個好解決,自己做個高匿**池就行

這裡推薦cithub上乙個老哥的**很好用:

關鍵是第二項 cookie **需要幾個cookie, cookie如何生成(本地還是服務端)

這裡不採用瀏覽器分析cookie 是因為瀏覽器一訪問會有很多js 生成的本地cookie, 直接**請求比較清爽直觀

因為一般攜帶cookie的方式都是 3xx 跳轉先放乙個cookie 之後攜帶該cookie 請求得到正常頁面所以二話不說 先requests 禁止跳轉走一波:

執行之後發現是js執行的跳轉並不是伺服器返回3xx跳轉,所以無需指定是否跟隨跳轉

if __name__ ==

'__main__'

: resp = requests.get(

"", timeout=5)

print

("info:"

)print

(resp.text)

print

("cookies:"

)for key, value in resp.cookies.items():

print

(f"key: value: "

)

仔細觀察發現請求返回的html結果中有如下**

function

stringtohex

(str)

return val;

}function

yunsuoautojump()

self.location =

"/?security_verify_data="

+stringtohex

(screendate);}

settimeout

("yunsuoautojump()",50

);

原來是執行了 yunsuoautojump() 這個方法生成了個跳轉鏈結

就是使用dom方法獲取瀏覽器長寬再進行雜湊變換再執行跳**

self.location = "/?security_verify_data=" + stringtohex(screendate);

上述請求返回攜帶的cookies:

key: yunsuo_session_verify value: 2972e332b013f2963dc1ca74531a44b6

2. 二話不說帶上cookie, 拼接個跳轉鏈結再請求一下,**修改如下:

這裡可以注意到雜湊函式是固定的而瀏覽器的長寬也可以使固定的,所以我們可以不用研究雜湊函式直接使用固定的stringtohex(screendate) 結果就行, 自己用瀏覽器訪問一下就能得到結果

if __name__ ==

'__main__'

: url =

""resp = requests.get(url, timeout=5)

cookie =

for key, value in resp.cookies.items():

cookie[key]

= value

resp = requests.get(

'{}{}'

.format

(url,

'?security_verify_data=313932302c31303830'),

cookies=cookie

)print

(resp.text)

for key, value in resp.cookies.items():

cookie[key]

= value

print

(f': '

)

html 內容和第一次請求一樣依舊不是正確結果,不過又反回了乙個cookie:

security_session_mid_verify: b621fcf2ed74e709c200e2af37eada46

3. 看來還要再攜帶返回的cookie進行一次請求,修改**如下:

if __name__ ==

'__main__'

: url =

""resp = requests.get(url, timeout=5)

cookie =

for key, value in resp.cookies.items():

cookie[key]

= value

resp = requests.get(

'{}{}'

.format

(url,

'?security_verify_data=313932302c31303830'),

cookies=cookie

)for key, value in resp.cookies.items():

cookie[key]

= value

# 注意這裡的cookie字典中存有第一次請求得到的 yunsuo_session_verify,和第二次請求得到的 security_session_mid_verify

resp = requests.get(

url,

cookies=cookie

)print

(resp.status_code)

print

(resp.text)

這時我們發現返回的就是我們想要的結果了,至此完成整個雲鎖反爬的反反爬工作

封裝如下

:# 大規模爬取要增加**,這裡是偽**啦

return prox

if __name__ ==

'__main__'

: url =

'你要抓取的url'

prox = get_proxy(

) cookie = get_cookies(

) resp = requests.get(

url,

proxies=proxies,

cookies=cookie

)# 做你想做的吧一些需要注意的事:

**返回的cookie 是根據訪問的ip進行計算的,所以三次請求使用的**要是乙個

這裡只是個簡單demo, 如果需要大規模抓取最好還是用redis + 固定** 實現乙個 cookies池,非同步維護每個ip對應的cookies,這樣實際抓取的流程就是:獲取乙個ip** -> 根據**ip得到對應的cookies -> 使用該** + cookies 進行抓取,這樣可以減少抓取的請求數提公升速度

雲鎖Linux版伺服器安全軟體初體驗

以前linux主機不是視覺化介面,這直接阻礙了許多新人站長用php建站,上手困難,但隨著各大idc推出視覺化控制面板,linux的應用程度越來越高。也正因如此,linux的伺服器管理軟體卻很少。不過,雲鎖最近放出來linux版的伺服器管理軟體,相信站長朋友和我一樣,是非常期待的。雖然拖得時間有點久,...

阿里雲伺服器如何加強伺服器的安全?有哪些安全措施?

注意,請先到阿里雲官網領取幸運券,除了 上有很多優惠外,還可以參與 詳見 系統盤和站點放置盤除administrators 和system的使用者許可權全部去除。啟用windows自帶防火牆,只保留有用的埠,比如遠端和web ftp 3389 80 21 等等,有郵件伺服器的還要開啟25和130埠。...

安全狗 雲時代的伺服器安全守護者

受訪者簡介 陳奮,廈門服雲資訊科技 ceo,國內知名網際網路安全品牌安全狗創始人。從2004年涉足資訊保安領域以來,在網路安全 資料安全方面都有深入的研究,共獲得3項安全領域的個人發明專利。2012年帶領團隊推出免費的伺服器端安全軟體 安全狗,獲得2012年最佳網際網路安全產品獎 截至目前安全狗已擁...