麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Mac OS > 正文

什么是bash?如何手動升級你Mac OS上的bash?

2020-10-18 13:34:10
字體:
供稿:網(wǎng)友

什么是bash?相信很多果粉們都不太清楚吧,其實(shí)它是應(yīng)用于大多數(shù)基于Linux或Unix操作系統(tǒng)的命令行程序,其中包括有Mac OS,他們可以使用你的文件,獲取你的私密信息,刪除數(shù)據(jù),運(yùn)行程序等等。那么如何手動升級Mac OS上的bash?下面小編就為詳細(xì)介紹一下!

心臟滴血(Heartbleed)一波才平,一波又起,這次的漏洞名為Shellshock(最初的官方名叫做CVE-2014-6271),受害者則是搭載了Linux和Mac的電腦。現(xiàn)在它已經(jīng)在NCAS分級為10的危險(xiǎn)評級中成功拿下了危險(xiǎn)性為10的評定。雖然現(xiàn)在也有了一些專用于修復(fù)漏洞的更新,但是它們依舊不夠完善,而你的電腦也仍然處于威脅之中。而這個(gè)bug已經(jīng)像這樣存在了20年才為人知曉。

2014.9.26更新說明

一個(gè)新補(bǔ)丁主要用于應(yīng)對新增的攻擊方式CVE-2014-7169.

如果你在太平洋夏令時(shí)的2014年9月26日下午三點(diǎn)前照著這篇教程做過,那你需要?jiǎng)h除掉你的bash-fix文件夾(你可以通過finder在你的user->username目錄下找到它),之后再照著下面的教程再做一次(從第一步開始),這樣才能確保你的電腦得到完全的修復(fù)。如果你從來沒有手動更新過,那就不需要?jiǎng)h除bash-fix文件夾。

該教程現(xiàn)已經(jīng)能完全應(yīng)對現(xiàn)有的攻擊,也很可能是你需要部署的最后一次補(bǔ)丁了。

什么是bash

bash是應(yīng)用于大多數(shù)基于Linux或Unix操作系統(tǒng)的命令行程序,其中包括有Mac OS。如果你的操作系統(tǒng)的默認(rèn)命令行shell是bash的話,它就可能被網(wǎng)絡(luò)上遠(yuǎn)端的黑客用于攻擊你的電腦。通過一個(gè)小小的腳本黑客便可以在你的電腦上加載程序或者更改特性,這些操作既不需要任何密碼,也不需要了解任何你所知道的東西。他們可以使用你的文件,獲取你的私密信息,刪除數(shù)據(jù),運(yùn)行程序等等。

危險(xiǎn)性測試第一步:

打開終端窗口,在shell中鍵入以下命令行,緊接著輸入回車。終端可以在你電腦的應(yīng)用文件夾的Utilities中可找到,你也可以使用快速搜索找到它。

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

好結(jié)果是這樣的

如果你的電腦不存在被Shellshock漏洞威脅的隱患,那么終端的輸出結(jié)果應(yīng)該和下面的這一段差不多:

bash: warning: x: ignoring function definition attemptbash: error importing function definition for `x'this is a test

糟糕的結(jié)果

如果你的電腦存在被威脅的可能,那你看到的結(jié)果將會是下面這樣:

vulnerable this a test

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

危險(xiǎn)性測試第二步:

如果你通過了第一個(gè)測試,那么試試下面的測試看看你的電腦能否抵御一種在星期四才被發(fā)現(xiàn)的新型攻擊方式;

env X='(){(a)=>/' bash -c "echo date"; cat echo; rm -f echo

好結(jié)果又是這樣的

如果你的電腦沒有任何問題,那你應(yīng)該會看到如下這樣的輸出(不輸出任何與當(dāng)前日期有關(guān)的內(nèi)容):

datecat: echo: No such file or directory

壞結(jié)果是這樣的

如果你的電腦在劫難逃,那你會看的輸出就是下面這種形式:

date

如圖所示(下面輸出的是我測試的時(shí)間):

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

那么現(xiàn)在有更新了嗎

大多數(shù)Linux發(fā)行版已經(jīng)有了專為Shellshock開發(fā)的補(bǔ)丁(雖然大多并不完整),不過Mac OS X用戶至今還是沒有收到任何消息,蘋果對此事只字未提。最近Mavericks的更新10.9.5版本也沒有對Shellshock有任何的修復(fù)。

如果你感到惶恐不安,這里倒是有一個(gè)手動更新的方法讓你機(jī)器上的GNU bash升級到更為安全的那個(gè)版本,在這里要感謝StackExchange的用戶提供了有關(guān)方法。

在你的Mac電腦上打開終端窗口,輸入以下命令來查看你已經(jīng)裝上的shell版本(記得最后敲回車)。

bash --version

如果你的GNU bash版本號為3.2.51(1)-release, 那你需要升級到3.2版本的最新版3.2.53,如果你已經(jīng)照著這篇教程升級到過3.2.52(1)-release,那你需要照著下面的做完以確保更新到最新版本使你的電腦得到完全的保護(hù)。

bash除此外還有其它更新的版本,不過Mac OS只支持3.2分支。如果你是Linux用戶,你想要確保下載到與你當(dāng)前使用的bash版本相匹配的補(bǔ)丁。那你可以在這里找到各種主要版本的最近更新,包括3.0, 3.1, 3.2, 4.0, 4.1, 4.2, 和4.3。

你可以根據(jù)以下教程手動編譯bash的最新版本(3.2.53),但是首先你需要在你的電腦上安裝有一個(gè)蘋果的Xcode工具。如果你沒有安裝過這個(gè)工具,那你需要照著下面的準(zhǔn)備工作章節(jié)做下去。

如果你不想升級bash,這里有個(gè)由紅帽提供的解決方案,不過它還并沒有通過完整的測試,因此我并不推薦這個(gè)。

準(zhǔn)備工作

你需要確保你已經(jīng)裝上了Xcode,并同意了蘋果的條款,在老一些的Mac上,你還要確保你裝上了命令行工具。

你也可以在Mac App Store上下載到免費(fèi)的Xcode。

如果你的Mac OS X版本太老而不能在Mac App Store上下載到可用的Xcode,你可以使用你的Apple ID登錄開發(fā)者中心去搜索一個(gè)合適的版本并下載。如果你是Mac OS10.7或者10.8用戶,那么請?jiān)陂_發(fā)者下載頁面的左邊的搜索框里搜索Xcode 4.6.3.

在你裝了Xcode之后,在你的應(yīng)用文件夾內(nèi)找到并運(yùn)行它,之后同意相關(guān)條款。最開始加載的時(shí)候可能會花費(fèi)一些時(shí)間。之后你需要確認(rèn)是否有可用而完整的命令行工具,做法如下:

打開Xcode,在頂部的菜單欄里打開菜單。

點(diǎn)擊選項(xiàng)。

點(diǎn)擊下載標(biāo)簽。

在下載列表里面找到命令行工具之后點(diǎn)擊下載。

提示:如果你沒有看到命令行工具選項(xiàng)那就證明你已經(jīng)裝上了。

做完之后,你就為系統(tǒng)補(bǔ)丁做好了所有準(zhǔn)備工作了。

第一步:下載并編譯補(bǔ)丁

當(dāng)你確定裝上了Xcode,再次打開終端命令行并輸入一下命令,然后回車。每一行是一個(gè)命令,因此一定要整行復(fù)制。

mkdir bash-fixcd bash-fixcurl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -cd bash-92/bash-3.2curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0cd ..xcodebuild

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

進(jìn)程會跑上一段時(shí)間,你會看到在終端里一大串輸出,那是因?yàn)閄code正在你的電腦上編譯新的bash。等它運(yùn)行完畢,輸出“BUILD SUCCEEDED”之后你會看到一個(gè)新的終端窗口。

第二步:下載編譯并建造第二個(gè)補(bǔ)丁

這一步添加于太平洋夏令時(shí)2014.9.26 3:00pm,該補(bǔ)丁主要針對于新的攻擊方式。如果想了解更多請看文章開頭的更新說明。

mv build/bash.build/Release/bash.build/DerivedSources/y.tab.* bash-3.2/cd bash-3.2curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | patch -p0cd ..xcodebuild

再一次,你會在完成的時(shí)候看到“BUILD SUCCEEDED”。

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

第三步:備份你當(dāng)前版本(建議)

為避免發(fā)生某些錯(cuò)誤,備份你當(dāng)前使用的bash版本是個(gè)不錯(cuò)的選擇,你可以在終端輸入以下兩行命令。

注意在這一步你很可能被提示需要輸入一個(gè)密碼,這個(gè)密碼就是你用于登錄Mac的那個(gè)密碼。當(dāng)你敲擊的時(shí)候并不會在終端看到回顯,如果你的密碼過于復(fù)雜的話在提示密碼錯(cuò)誤的情況下你可以試試多輸入幾次。

sudo cp /bin/bash /bin/bash.oldsudo cp /bin/sh /bin/sh.old

你不會看到任何確認(rèn)信息,但是它已經(jīng)備份完了,如果在第五步之后發(fā)生了錯(cuò)誤的話。你還可以用復(fù)制命令找回你以前的老版本bash,將“.old”復(fù)制為原始文件(即沒有".old"部分)。

第四步:確認(rèn)你新建的版本信息

在終端里輸入以下命令以確認(rèn)你在電腦上新建的bash是最新版本:

build/Release/bash --versionbuild/Release/sh --version

輸出的文本應(yīng)該是bash版本為3.2.53(1)-release你才可以確認(rèn)你編譯了正確的版本。

第五步:使用新版本替換你老版的bash

全部做完之后。你只需復(fù)制你新版的bash覆蓋掉老版的bash,使用以下命令完成:

sudo cp build/Release/bash /binsudo cp build/Release/sh /bin

現(xiàn)在,再來測試一下看看電腦是否還是會輸出那個(gè)好結(jié)果:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

然后來進(jìn)行第二測試:

env X='(){(a)=>/' bash -c "echo date"; cat echo; rm -f echo

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

如果日期依舊顯示,那么檢查一下你的home文件夾下是否有一個(gè)名為echo的文件在你測試的時(shí)候被創(chuàng)建。如果是的,那么刪除它再試一次。如果這樣還是依舊輸出日期,那么很可能是你遺漏了上面剛剛更新的第二步。如果你認(rèn)為你在所有的命令行中沒有任何輸入錯(cuò)誤,你也可以刪掉你的bash-fix文件夾之后從第一步開始重來。如果沒有什么問題也請刪除bash-fix文件夾——因?yàn)槟侵皇莻€(gè)臨時(shí)目錄而已。

以上就是如何手動升級你Mac OS上的bash過程,希望對大家有所幫助!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 99在线热视频 | 99精品国产一区二区三区 | 国产1区2区在线 | 成人不卡免费视频 | 国产精品美女久久久免费 | 在线成人免费网站 | 一区二区三区视频在线观看 | 在线2区| 久久综合久久综合久久综合 | 国产精品久久久久久久久久大牛 | 久久亚洲春色中文字幕久久 | 国产porn在线| 成人宗合网 | 国内xxxx乱子另类 | 看免费毛片 | 亚洲免费毛片基地 | 在线香蕉视频 | 国产精品一品二区三区四区18 | 激情视频在线播放 | 激情亚洲一区二区三区 | 在线看一区二区三区 | 亚洲特黄a级毛片在线播放 久久久入口 | 国产自在线| 国产精品久久久久久久亚洲按摩 | 国产精品一区在线看 | 成人午夜免费福利 | 全黄裸片武则天一级第4季 九色p | 羞羞的视频在线观看 | 91av资源在线 | 欧美高清第一页 | 久久久久久久久浪潮精品 | 久久亚洲精品国产一区 | 亚洲骚图 | 久久久鲁| 91av网址 | 久久美女色视频 | 免费a级观看 | 亚洲精品3 | 中文字幕在线日韩 | 久久久国产精品网站 | 亚洲一区二区三区视频免费 |