精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python初學者請注意!別這樣直接運行python命令

新聞 前端
Python已經成為全球最受歡迎的編程語言之一。原因當然是Python簡明易用的腳本語法,只需把一段程序放入.py文件中,就能快速運行。

 本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。

Python已經成為全球最受歡迎的編程語言之一。原因當然是Python簡明易用的腳本語法,只需把一段程序放入.py文件中,就能快速運行。

而且Python語言很容易上手模塊。比如你編寫了一個模塊my_lib.py,只需在調用這個模塊的程序中加入一行import my_lib即可。

Python初學者請注意!別這樣直接運行python命令

這樣設計的好處是,初學者能夠非常方便地執行命令。但是對攻擊者來說,這等于是為惡意程序大開后門。

尤其是一些初學者將網上的Python軟件包、代碼下載的到本地~/Downloads文件夾后,就直接在此路徑下運行python命令,這樣做會給電腦帶來極大的隱患。

別再圖方便了

為何這樣做會有危險?首先,我們要了解Python程序安全運行需要滿足的三個條件:

  1. 系統路徑上的每個條目都處于安全的位置;
  2. “主腳本”所在的目錄始終位于系統路徑中;
  3. 若python命令使用-c和-m選項,調用程序的目錄也必須是安全的。

如果你運行的是正確安裝的Python,那么Python安裝目錄和virtualenv之外唯一會自動添加到系統路徑的位置,就是當前主程序的安裝目錄。

Python初學者請注意!別這樣直接運行python命令

這就是安全隱患的來源,下面用一個實例告訴你為什么。

如果你把pip安裝在/usr/bin文件夾下,并運行pip命令。由于/usr/bin是系統路徑,因此這是一個非常安全的地方。

但是,有些人并不喜歡直接使用pip,而是更喜歡調用/path/to/python -m pip

這樣做的好處是可以避免環境變量$PATH設置的復雜性,而且對于Windows用戶來說,也可以避免處理安裝各種exe腳本和文檔。

所以問題就來了,如果你的下載文件中有一個叫做pip.py的文件,那么你將它將取代系統自帶的pip,接管你的程序。

下載文件夾并不安全

比如你不是從PyPI,而是直接從網上直接下載了一個Python wheel文件。你很自然地輸入以下命令來安裝它:

  1. ~$ cd Downloads 
  2. ~/Downloads$ python -m pip install ./totally-legit-package.whl 

這似乎是一件很合理的事情。但你不知道的是,這么操作很有可能訪問帶有XSS JavaScript的站點,并將帶有惡意軟件的的pip.py到下載文件夾中。

下面是一個惡意攻擊軟件的演示實例:

  1. ~$ mkdir attacker_dir 
  2. ~$ cd attacker_dir 
  3. ~/attacker_dir$ echo 'print("lol ur pwnt")' > pip.py 
  4. ~/attacker_dir$ python -m pip install requests 
  5. lol ur pwnt 

看到了嗎?這段代碼生成了一個pip.py,并且代替系統的pip接管了程序。

設置$PYTHONPATH也不安全

前面已經說過,Python只會調用系統路徑、virtualenv虛擬環境路徑以及當前主程序路徑

你也許會說,那我手動設置一下 $PYTHONPATH 環境變量,不把當前目錄放在環境變量里,這樣不就安全了嗎?

非也!不幸的是,你可能會遭遇另一種攻擊方式。下面讓我們模擬一個“脆弱的”Python程序:

  1. # tool.py 
  2. try
  3.     import optional_extra 
  4. except ImportError: 
  5.     print("extra not found, that's fine"

然后創建2個目錄:install_dirattacker_dir。將上面的程序放在install_dir中。然后cd attacker_dir將復雜的惡意軟件放在這里,并把它的名字改成tool.py調用的optional_extra模塊:

  1. # optional_extra.py 
  2. print("lol ur pwnt"

我們運行一下它:

  1. ~/attacker_dir$ python ../install_dir/tool.py 
  2. extra not found, that's fine 

到這里還很好,沒有出現任何問題。

但是這個習慣用法有一個嚴重的缺陷:第一次調用它時,如果$PYTHONPATH以前是空的或者未設置,那么它會包含一個空字符串,該字符串被解析為當前目錄。

讓我們再嘗試一下:

  1. ~/attacker_dir$ export PYTHONPATH="/a/perfectly/safe/place:$PYTHONPATH"
  2. ~/attacker_dir$ python ../install_dir/tool.py 
  3. lol ur pwnt 

看到了嗎?惡意腳本接管了程序。

為了安全起見,你可能會認為,清空$PYTHONPATH總該沒問題了吧?Naive!還是不安全!

  1. ~/attacker_dir$ export PYTHONPATH=""
  2. ~/attacker_dir$ python ../install_dir/tool.py 
  3. lol ur pwnt 

這里發生的事情是,$PYTHONPATH變成空的了,這和unset是不一樣的。

因為在Python里,os.environ.get(“PYTHONPATH”) == “”os.environ.get(“PYTHONPATH”) == None是不一樣的。

如果要確保$PYTHONPATH已從shell中清除,則需要使用unset命令處理一遍,然后就正常了。

設置$PYTHONPATH曾經是設置Python開發環境的最常用方法。但你以后最好別再用它了,virtualenv可以更好地滿足開發者需求。如果你過去設置了一個$PYTHONPATH,現在是很好的機會,把它刪除了吧。

如果你確實需要在shell中使用PYTHONPATH,請用以下方法:

  1. export PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}new_entry_1" 
  2. export PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}new_entry_2" 

在bash和zsh中,$PYTHONPATH變量的值會變成:

  1. $ echo "${PYTHONPATH}" 
  2. new_entry_1:new_entry_2 

如此便保證了環境變量$PYTHONPATH中沒有空格和多余的冒號。

如果你仍在使用$PYTHONPATH,請確保始終使用絕對路徑

另外,在下載文件夾中直接運行Jupyter Notebook也是一樣危險的,比如jupyter notebook ~/Downloads/anything.ipynb也有可能將惡意程序引入到代碼中。

預防措施

最后總結一下要點。

  1. 如果要在下載文件夾~/Downloads中使用Python編寫的工具,請養成良好習慣,使用pip所在路徑/path/to/venv/bin/pip,而不是輸入/path/to/venv/bin/python -m pip。
  2. 避免將~/Downloads作為當前工作目錄,并在啟動之前將要使用的任何軟件移至更合適的位置。
Python初學者請注意!別這樣直接運行python命令

了解Python從何處獲取執行代碼非常重要。賦予其他人執行任意Python命令的能力等同于賦予他對你電腦的完全控制權!

希望以上文字對初學Python的你有所幫助。

 

責任編輯:張燕妮 來源: 量子位
相關推薦

2020-11-02 18:39:41

Pythonpython命令

2010-03-10 17:09:26

Python語言

2021-03-07 00:56:05

區塊鏈Python安全

2020-08-04 08:42:10

Python開發工具

2009-12-08 09:45:50

調用WCF

2018-02-10 07:36:20

Linux命令wc

2021-08-05 14:40:45

操作系統UNIXLINUX

2018-02-23 10:03:30

Linux命令mkdir

2018-02-25 14:00:07

Linux命令whereis

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2014-03-12 10:11:57

Python設計模式

2020-09-06 22:04:48

Python運算符開發

2024-08-17 12:14:06

2018-05-14 08:53:51

Linux命令shuf

2018-04-08 14:47:06

Linux命令type

2018-03-12 19:43:48

Linux命令 ldd

2018-02-05 08:45:00

RHELCentOS 7MariaDB

2009-08-30 15:04:56

點贊
收藏

51CTO技術棧公眾號

亚洲AV成人无码网站天堂久久| 久久久久久久久久av| 人妻有码中文字幕| melody高清在线观看| 久久99久久99小草精品免视看| 伦理中文字幕亚洲| 三级男人添奶爽爽爽视频| 午夜激情成人网| 亚洲自拍与偷拍| 热re99久久精品国产99热| 一本久道久久综合无码中文| 99亚洲乱人伦aⅴ精品| 国产精品久久久久永久免费观看 | 日韩精品一区二区亚洲av| 欧美手机视频| 亚洲国产小视频在线观看| 一本岛在线视频| 色综合亚洲图丝熟| 亚洲欧美视频在线观看视频| 国产精品久久久久久久久| 强行糟蹋人妻hd中文| 成人久久一区| 亚洲区中文字幕| 香蕉视频免费网站| 精品人妻互换一区二区三区| 人人草在线观看| 欧美精品三级| xvideos亚洲| 国产精品国产三级国产专业不| 欧美日韩中出| 8v天堂国产在线一区二区| 国产美女三级视频| 久草在线中文最新视频| 一区二区三区四区不卡视频| 午夜精品电影在线观看| 青春有你2免费观看完整版在线播放高清| 国产一区在线观看视频| 国产精品女视频| 国产字幕在线观看| 国产日韩欧美一区| 午夜精品久久久99热福利| 成人性生活毛片| 欧美3p在线观看| 国产成人精品一区二区三区四区| 亚洲一区二区三区影院| 亚洲bbw性色大片| 免费福利在线观看| www国产成人免费观看视频 深夜成人网 | 国产不卡精品视男人的天堂| 久久久美女视频| 欧美人成在线| 欧美美女操人视频| 欧美丰满艳妇bbwbbw| 综合精品久久| 久久久久久久久久久免费| 欧美黄色免费看| 激情综合在线| 78色国产精品| 国产一级免费视频| 日本亚洲最大的色成网站www| 国产91久久婷婷一区二区| 自拍偷拍18p| 蜜臀国产一区二区三区在线播放| 国产日本欧美一区二区三区在线| 一本色道久久综合无码人妻| 国产制服丝袜一区| 成人动漫视频在线观看完整版| 亚洲国产精品久久人人爱潘金莲 | 久久亚洲精选| 国产精品久久久久久久av电影 | 久热成人在线视频| 成人网在线免费看| 男人的天堂久久久| 欧美日韩亚洲一区| 97国产精品免费视频| 久草手机在线观看| 美女视频黄久久| 91精品国产99久久久久久红楼| 国产后入清纯学生妹| 成人av免费在线| 日本成人三级| a在线免费观看| 亚洲图片欧美视频| 亚洲人成无码www久久久| 福利一区二区| 精品国产网站在线观看| 天天操天天爱天天爽| 日本免费成人| 亚洲国产天堂久久综合网| 国产肥白大熟妇bbbb视频| 日韩第一区第二区| 日韩电影免费观看在线观看| 56国语精品自产拍在线观看| 中文字幕欧美日韩一区二区三区| 在线观看h网| 欧美日韩亚洲一区二区| 公共露出暴露狂另类av| 黄色小说在线播放| 色综合久久天天| 在线免费看v片| 日韩欧美国产大片| 日韩中文字幕在线观看| 久久亚洲国产成人精品性色| 视频一区中文字幕| 91一区二区三区| 国产精品免费观看| 亚洲一区欧美一区| 日日躁夜夜躁aaaabbbb| 北条麻妃一区二区三区在线观看| 国产一区二区三区久久精品| 中文字幕av久久爽av| 久久精品盗摄| 国产裸体写真av一区二区 | 国产大陆a不卡| 日韩videos| 欧美扣逼视频| 一区二区欧美在线观看| 久久久久久久久久久久91| 老司机aⅴ在线精品导航| 久久精品精品电影网| 草莓视频18免费观看| 波多野结衣91| 黄色网在线视频| 亚洲高清国产拍精品26u| 亚洲美女喷白浆| 中文字幕一区二区三区精品 | 久久999免费视频| 真实的国产乱xxxx在线91| 久久在线精品| 国产精品青青草| 手机看片福利在线| 自拍偷拍亚洲综合| 在线观看av网页| 国产精品一国产精品| 伊人久久久久久久久久| 特一级黄色大片| 成人福利视频网站| 日本成人在线不卡| 国产999精品在线观看| 在线视频日本亚洲性| 中文人妻av久久人妻18| 97国产一区二区| 日韩 欧美 视频| www.爱久久| 欧美日韩国产第一页| aaaa一级片| 亚洲精品成人在线| 男人的天堂免费| 欧美激情性爽国产精品17p| 亚洲一区亚洲二区| 亚洲电影视频在线| 日韩精品一区二区三区四区视频| 日韩女优一区二区| 国产激情视频一区二区三区欧美| 国产a级黄色大片| 4438全国亚洲精品观看视频| 欧美激情aaaa| 天堂国产一区二区三区| 一本色道综合亚洲| 午夜在线观看一区| 免费xxxx性欧美18vr| 在线视频不卡一区二区三区| 亚洲成人毛片| 久久久欧美一区二区| 乱精品一区字幕二区| 欧美日韩亚洲精品一区二区三区| 久久国产精品影院| 美女性感视频久久| 亚洲精品菠萝久久久久久久| 日韩av资源在线| 欧美色网址大全| 91久久国产精品91久久性色| 日本精品600av| 日韩精品有码在线观看| 伊人网综合在线| 一区二区三区四区五区视频在线观看| 久久久久无码国产精品一区李宗瑞 | 国产成人高清精品| 欧美一区二区福利在线| 日产电影一区二区三区| 国产欧美一区二区精品忘忧草| www.久久av.com| av不卡在线| 亚洲一区3d动漫同人无遮挡 | 精品国产一区二区三区av性色| 久久久精品免费看| 中文字幕中文在线不卡住| 91人人澡人人爽| 老司机午夜精品视频在线观看| 一区在线电影| 欧美美女在线直播| 国产精品丝袜久久久久久高清| 在线播放免费av| 亚洲男人的天堂在线| 国产裸体无遮挡| 欧美性猛交xxxx富婆弯腰| 亚洲女人久久久| 99精品国产91久久久久久 | 成人永久看片免费视频天堂| 成人观看免费完整观看| 亚洲国产老妈| 日韩av电影免费在线观看| 51精品国产| 91精品久久久久久久久久入口| av中文在线资源库| 久久久国产视频| 黄色小视频在线观看| 经典一区二区三区| 欧美欧美午夜aⅴ在线观看| 成年在线观看视频| 国产在线观看91一区二区三区 | 中文字幕视频一区| 欧洲一级黄色片| 国产一区二区三区精品欧美日韩一区二区三区 | 免费观看日韩电影| 欧美成人三级在线视频| 欧美hd在线| 欧美一区免费视频| 哺乳挤奶一区二区三区免费看| 国产精品日韩av| 伊伊综合在线| 91国在线精品国内播放 | 青青草国产成人a∨下载安卓| 国产欧美亚洲日本| 日本在线视频一区二区三区| 国产一区二区视频在线观看| 国产 日韩 欧美一区| 91超碰caoporn97人人| 免费在线观看av电影| 日日噜噜噜夜夜爽亚洲精品 | 欧美激情精品久久久久久变态| 蜜芽在线免费观看| 中文字幕日本欧美| 国产区视频在线播放| 亚洲美女www午夜| 日本不卡免费播放| 日韩精品在线观| 天天干视频在线| 亚洲国产精品一区二区三区| 蜜臀av中文字幕| 欧美tickling网站挠脚心| 精品人妻无码一区二区| 日韩视频一区二区三区| 精品国精品国产自在久不卡| 欧美一卡二卡三卡四卡| 国产免费视频一区二区三区| 91精品国产一区二区三区蜜臀| 一道本无吗一区| 3d成人h动漫网站入口| 国产女人高潮的av毛片| 欧美一区二区视频在线观看| av 一区二区三区| 日韩精品一区二区三区四区| 国模人体一区二区| 精品国产伦一区二区三区免费| 亚洲黄色小说网址| 亚洲韩国欧洲国产日产av| 手机福利小视频在线播放| 亚洲欧美另类自拍| 在线看黄色av| 欧美精品亚州精品| 69av成人| 国产精品成人av在线| 欧美久久久网站| 欧美激情精品久久久久久久变态| 污污在线观看| 国内免费精品永久在线视频| 欧美调教sm| 国产精品视频在线播放| 国产精品毛片aⅴ一区二区三区| 91久久国产自产拍夜夜嗨| 国内露脸中年夫妇交换精品| 久久艳妇乳肉豪妇荡乳av| av中字幕久久| 亚洲色图都市激情| 国产亚洲一区| 在线免费观看成人| 亚洲小说区图片区| 欧美精品一区二区三区免费播放| 三级一区在线视频先锋| 欧美日韩理论片| 成人av网站免费观看| 亚洲自拍偷拍图| 亚洲激情网站免费观看| 羞羞影院体验区| 欧美久久久久中文字幕| 天堂中文在线观看视频| 自拍偷拍亚洲欧美| 成人免费网站观看| 欧美另类高清videos| 蜜桃视频www网站在线观看| 国产精品普通话| 国产精品流白浆在线观看| 婷婷五月色综合| 亚洲国产裸拍裸体视频在线观看乱了中文| 这里只有精品66| 亚洲久久一区二区| 中文字幕第88页| 97se狠狠狠综合亚洲狠狠| 亚洲国产精品一区二区久久hs| 亚洲成精国产精品女| 亚洲一级在线播放| 日韩国产一区三区| 爆操欧美美女| 国产精品热视频| 日韩啪啪网站| 91网站在线观看免费| 男人的天堂亚洲| 波多野结衣电影免费观看| 国产欧美精品在线观看| 日本一区二区网站| 欧美一区二区成人6969| 成人资源www网在线最新版| 91国内揄拍国内精品对白| 91成人在线精品视频| 尤物一区二区三区| 日韩—二三区免费观看av| 国产激情视频网站| 亚洲一区在线免费观看| 97国产成人无码精品久久久| 国产亚洲精品综合一区91| 精精国产xxxx视频在线野外| 岛国视频一区免费观看| 99久久精品费精品国产风间由美| 成人精品小视频| 久久蜜桃香蕉精品一区二区三区| 国产无遮无挡120秒| 日韩欧美在线网站| 国内精品久久久久国产| 国产精品久久网| 精品国产乱码久久久久久蜜坠欲下 | 久久国产精品高清一区二区三区| 久久久久久久久久av| jizzjizzjizz欧美| 国产av熟女一区二区三区| 国产精一区二区三区| 精品无码一区二区三区蜜臀| 欧美另类一区二区三区| 日本www在线观看| 国产日韩精品在线播放| 日韩激情免费| 中文字幕の友人北条麻妃| 激情偷乱视频一区二区三区| 东京热无码av男人的天堂| 欧美亚洲国产怡红院影院| 高清毛片在线看| 国产精品爽爽爽| 久久美女视频| 日本高清免费在线视频| 亚洲免费在线看| www.麻豆av| 欧美精品videosex极品1| 风间由美中文字幕在线看视频国产欧美 | 欧美妇女性影城| 1stkiss在线漫画| 99在线看视频| 日韩天堂av| 亚洲熟妇一区二区三区| 在线视频国内自拍亚洲视频| 成人免费视频| 91情侣偷在线精品国产| 国产精品av一区二区| 老熟妇精品一区二区三区| 欧美日韩一区二区免费在线观看| 欧美一区二区少妇| 国产精品夜间视频香蕉| 一本到12不卡视频在线dvd| 欧美一级片在线免费观看| 亚洲成人免费在线| 全色精品综合影院| 国产日韩中文字幕在线| 亚洲私人影院| 久久久久亚洲av成人无码电影| 欧美日韩在线播放三区四区| 中文在线字幕免费观看| 久久精品一区二区三区不卡免费视频| 日韩高清欧美激情| 欧美精品一区二区蜜桃| 日韩av影片在线观看| 亚洲国产尤物| 日本福利视频一区| 激情深爱一区二区| 日韩av电影网| 中文在线不卡视频| av自拍一区| 色综合色综合色综合色综合| 亚洲综合一二三区| 激情综合闲人网| 超碰97在线资源| 日韩黄色小视频| 久久在线视频精品| 中文字幕国内精品| 精品国产一区二区三区成人影院 | 日本三级免费网站| 白白色 亚洲乱淫| 伊人成人在线观看| 韩国精品美女www爽爽爽视频| 成人在线国产| 丰满大乳奶做爰ⅹxx视频| 欧美一区二区三区色|