網站漏洞檢測 squid反向代理存在遠端程式碼執行漏洞

網站安全發表於2019-09-02

在對網站進行滲透測試的時候,發現很多網站都在使用squid反向代理系統,該系統存在可以執行遠端程式碼的漏洞,很多客戶找我們SINE安全做滲透測試服務的同時,我們會先對客戶的網站進行資訊蒐集工作,包括域名,二級域名收集,網站使用的反向代理系統,網站程式開發語言,是否使用開源的程式碼,以及網站後臺路徑收集,都在前期滲透中需要做的。

網站漏洞檢測 squid反向代理存在遠端程式碼執行漏洞

前段時間某一個客戶網站使用的就是squid反向代理系統,客戶APP,以及網站後臺都被攻擊者篡改,被惡意提現,會員注單篡改,銀行卡號篡改,充值通道篡改,給客戶帶來了很大的經濟損失,透過老客戶介紹找到我們SINE安全,我們對該情況進行詳細的瞭解,針對實際情況,定製了詳細的滲透測試服務方案。關於squid系統漏洞的檢測,我們來詳細的介紹一下:

網站漏洞檢測 squid反向代理存在遠端程式碼執行漏洞

squid是開源的一套網站反向代理系統,可以對網站進行加速,快取,有些網站訪問較慢,就會在國內的伺服器節點做反向代理,加速網站的快速訪問,將圖片,以及JS檔案,css檔案進行快取,還有一個好處透過squid可以隱藏網站的真實IP。squid支援很多種TCP協議,包括80埠的http協議,FTP的21埠協議,HTTPS433埠的協議,都可以進行反向代理,簡單易用受到很多開發者的喜歡。

squid漏洞產生的原因在於緩衝區溢位導致可以執行遠端程式碼,當反向代理收到cachemgr的請求時候,會使用parseheaders這個函式介面,將請求來的引數進行解析操作,並賦值於後端去,正常應該對請求的引數進行字數限制,而該請求並沒有對字數多少進行限制,導致可以寫入程式碼進行資料溢位,當長度超過squid的安全限制後,就會執行惡意的程式碼。漏洞的利用方式是,構造惡意的程式碼,使用FTP協議的方式進行請求 request-uri,將程式碼加密,提交到伺服器中去,就可以達到滲透伺服器的許可權。程式碼如下:

網站漏洞檢測 squid反向代理存在遠端程式碼執行漏洞

網站漏洞檢測 squid反向代理存在遠端程式碼執行漏洞

當伺服器執行惡意程式碼後,就會產生一個webshell到網站的根目錄下,從而對網站進行控制,該webshell也叫網站木馬後門,相當於網站的管理員許可權,可以寫入檔案,修改檔案,修改資料庫等操作,透過對客戶網站的滲透測試發現,導致被篡改的問題根源,是squid系統存在漏洞,隨即我們SINE安全對客戶的squid漏洞進行了修復,對程式碼的長度進行了限制,防止溢位,並對所有的請求包括get,post.cookies的請求都進行了字元長度限制。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542418/viewspace-2655702/,如需轉載,請註明出處,否則將追究法律責任。

相關文章