Bash漏洞分析溯源

2021-09-01 18:11:07 字數 1167 閱讀 9972

漏洞編號:

cve-2014-6271

漏洞名稱:

linux bash遠端可執行漏洞

漏洞影響範圍:

所有安裝gnu bash 版本小於或者等於4.3的linux作業系統

漏洞檢測:

使用以下命令檢測是否存在此漏洞:

env x='() ; echo vulnerable' bash -c "echo this is a test"
如果返回顯示有「vulnerable」 ,則表示存在漏洞,如果沒有,則表示沒有漏洞。

例如,當存在漏洞是,修復前的輸出為:

vulnerable

this is a test

bash漏洞的原理:

bash除了可以將外殼變數匯出為環境變數,還可以將外殼函式匯出為環境變數!當前版本的bash中通過以函式名作為環境變數名,以「()」為結束,而是一直執行其後的外殼命令。

簡單地說就是,巴什指令碼在解析某些特殊字串時出現邏輯錯誤導致可以執行後面的命令。

1、破殼漏洞,是由bash cgi產生的漏洞,如果web程式呼叫bash指令碼就可能產生這個漏洞

2、通常cgi目錄為cgi-bin,這裡也是,並且破殼漏洞cgi源檔名就是pc.cgi,那麼構造偽造請求包時,就可以使用url:http://ip:port//cgi-bin/poc.cgi

3、使用curl或者抓包軟體構造user-agent(或者別的引數,比如connection)就可以將引數傳進去

使用curl的方法:

curl -a '() ; echo -e "\r\n";/bin/cat ../../../key.txt'
使用connection的方法

() ; echo; /bin/bash -c 'cat /key.txt'
4、注意這次實驗漏洞的利用需要在閉合函式之後立即輸出乙個換行,用echo;或echo -e "rn";,否則會報錯(我也不知道為什麼,求解答)

5、換行命令後可以接/bin/cat 或者/bin/ls 來遍歷資料夾、檢視key

墨者學院 命令執行 Bash漏洞分析溯源

背景介紹 安全工程師 墨者 對一單位業務系統進行授權測試,在測試過程中,發現存在bash命令執行漏洞。實訓目標 1 了解bash 2 了解bash遠端命令執行漏洞形成原因 3 了解bash遠端命令執行漏洞利用方法 解題方向 找到poc.cgi檔案 根據題目說明,在網上對bash遠端命令執行漏洞進行了...

bash破殼漏洞分析(一)

bash版本小於等於4.3版本。主要作業系統版本有 進行檢視bash版本,如圖所示為version 4.2.24含有bash破殼漏洞。1.安裝完成ubuntu虛擬機器後通過命令ctrl alt t開啟terminal視窗輸入命令sudo apt get install apache2進行apache...

bash破殼漏洞分析(二)

bash gnu bourne again shell 是許多linux發行版的預設shell。目前的bash使用的環境變數是通過函式名稱來呼叫的,導致漏洞出問題是以 echo echo shellshock one customheadernew shellshockme connection c...