狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Python requests 如何避免被 Gzip 炸彈攻擊

admin
2024年3月9日 16:3 本文熱度 680

Gzip 炸彈英文名為 Gzip bomb,是一種古老的被動防御手段。它的原理是當爬蟲訪問服務器網頁資源時摻入一些高壓縮比的壓縮文件。如果爬蟲自帶解壓縮功能(比如 Python requests 庫)就會觸發壓縮炸彈,直接導致爬蟲的客戶端內存被撐爆。

以下是制作 Gzip 炸彈的命令:

dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip

PHP 版的服務端 Gzip bomb 例子;

PHP 代碼來源鏈接:

《How to defend your website with ZIP bombs- the good old methods still work today》Posted on 2017-07-05
https://blog.haschek.at/2017/how-to-defend-your-website-with-zip-bombs.html

許多爬蟲會使用 requests 庫爬取網頁資源,在使用 requests 庫時如何避免被 gzip 炸彈攻擊?

為了避免被 Gzip 炸彈攻擊,在使用Python的 requests 庫時,可以設置stream 參數為 True。這將使得響應內容不會被自動解壓縮,而是在使用時才進行解壓縮,從而可以限制解壓縮的大小。

示例代碼:

import requests
url = 'http://example.com/some_large_file.gz'
# 設置 stream=True 來避免自動解壓縮response = requests.get(url, stream=True)
# 手動解壓縮并限制解壓縮的大小max_size = 1024 * 1024 * 10  # 限制解壓縮的大小為10 MBdecompressed_data = bytearray()for chunk in response.iter_content(chunk_size=1024):    decompressed_data.extend(chunk)    if len(decompressed_data) > max_size:        # 如果解壓縮后的數據大小超過了限制,則拋出異常        raise Exception("Response too large, possible gzip bomb attack.")

這樣做可以確保請求不會在解壓縮時耗盡系統資源,從而防止Gzip炸彈攻擊。

參考:

《How to defend your website with ZIP bombs》https://blog.haschek.at/2017/how-to-defend-your-website-with-zip-bombs.html
《github flask bomb》https://github.com/khast3x/flaskbomb?tab=readme-ov-file
《Demo - 20G Payloads>https://asciinema.org/a/141464
《github gzip-bomb topics》https://github.com/topics/gzip-bomb
《幾行代碼直接炸了爬蟲服務器》 作者kingnamehttps://mp.weixin.qq.com/s/Lzo6Pm09XsOqPkz3O91Mgg
《哈哈,有人爬我網站,我把他教育了一頓!》 程序員魚皮https://mp.weixin.qq.com/s/OX4fwC9Oe3R6cHYoyXpskA


該文章在 2024/3/9 16:03:49 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved