eSafe白帽駭客資安網-網絡安全背後的巨人,提供駭客,網站入侵測試,網站被駭,網站漏洞,駭客入侵,資訊安全,入侵,ecshop,wordpress,漏洞修復,木馬清除,資安服務

DedeCms最新版本 parse_str函數SQL注入漏洞



            織夢dedecms,在整個互聯網中許多企業網站,個人網站,優化網站都在使用dede作

為整個網站的開發架構,dedecms採用php+mysql數據庫的架構來承載整個
網站的運行與用

戶的訪問,首頁以及欄目頁生成html靜態化,大大的加快的網站訪
問速度,以及搜索引擎的友

好度,利於百度蜘蛛的抓取,深受廣大站長以及網站運
營者的喜歡。最近我們發現dedecms

漏洞,存在高危的parse_str函數sql注入漏洞



關於該織夢漏洞的詳情,我們一步一步來剖析:
 
 
首先來介紹下parse_str函數的機制與作用是什麼,簡單通俗來講就是解析網站傳過來的字符

串,將字符串的值轉變成一個固有的變量值,這個函數在傳入進來,進
行轉變的時候並不會

驗證網站當前變量的值是否含有,最直接的就是導致當前的變
量值會被代碼裡的值給覆蓋掉。
 
 
針對於dedecms存在的sql注入漏洞,我們來分析一下該漏洞是如何產生的,我們該如何去更

好的利用這個織夢漏洞。在dedecms最新版裡的buy_action.php代碼裡,
存在網站漏洞,

dedecms針對於該文件之前更新並修復過網站漏洞,代碼裡增加了
許多函數的安全過濾,但

是在過濾的同時編碼函數進行解碼的時候沒有嚴格的過濾
掉傳入進來的值,導致可以執行sql

語句查詢dede的數據庫內容,包括可以查詢網
站的管理員賬號與密碼。
 
 
我們對該代碼進行人工的安全檢測發現,在第4,第6行裡調用了一個mchStrCode函數機制,

這個函數我來簡單跟大家講解一下原理是什麼,該函數是將前端網站用戶
提交過來的數據進

行解碼,然後通過parse_str進行賦值變量,變量的同時不會判
斷當前的值是否存在,而導致

可以提交惡意的sql攻擊代碼進來,拼接進行sql注入
攻擊。
 

 
整個網站漏洞的產生以及dedecms漏洞利用很簡單,但是在實際漏洞利用過程中我們發現這

個還是挺難實現的,最關鍵的還是mchStrCode的函數在整個網站編碼,控
制前端用戶提交過

來的值中的參數。在dedecms的data目錄下的common.inc.php這
個代碼裡已經對get、post、

cookies提交的方式進行了安全過濾,限制了非法字符
的輸入,包括%20,空格,逗號,都會

被攔截,那麼我們在使用這個織夢漏洞的時
候,要對攔截的字符進行編碼加密繞過攔截,通

過編碼讓request進行解析,直接
解析成我們構造的sql注入語句即可。
 
 
dede漏洞利用如下圖所示:
 
每個網站,每個訪客的cookie跟user-agent都不一樣,要根據實際的值進行偽造與
 
加密生成。
 

 
 
dedecms網站漏洞修復建議:
 
關於這次的dedecms parse_str函數SQL注入漏洞,需要修復的就是變量的覆蓋修復,在對前

端輸入過來的值進行安全判斷,確認變量值是否存在,如果存在將不會覆
蓋,杜絕變量覆蓋導

致摻入惡意構造的sql注入語句代碼。如果對網站漏洞修復,
以及網站安全加固不懂的話,也可

以找專業的網站安全公司,國內eSafe白帽資安網公司,
綠盟安全公司,啟明星辰安全公司,都是比較

不錯的,也可以通過dedecms後台升級最新版本,目前官方沒有修復。
分享: