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

MetInfo 網站漏洞之PHP版本覆蓋變量漏洞



         MetInfo是一款基於PHP+mysql數據庫開發的企業建站代碼,在優化以及功能上,包括移動

端,自適應,多款模板免費使用,內含多種語言,中英雙語,適合外
貿建站,在搜索優化上比較

友好,深受各大企業公司以及建站公司的喜愛。最近一
次的更新時間為2018年1月29日,MetInfo

6.0.0版本。支持nginx、apache、iis
等各種主機環境。
 
 
對MetInfo進行網站安全檢測發現,存在網站漏洞,是基於PHP版本的覆蓋變量漏洞。PHP覆蓋變

量漏洞通俗來講是通過自定義的變量值來更換PHP版本裡默認的變量值
的一個漏洞,這個漏洞基本

上不會造成太大的威脅,但是這個覆蓋變量漏洞會改變
PHP代碼程序設計的邏輯功能,使原有的

PHP安全出現問題。

 
 
MetInfo 網站漏洞檢測中比較危險的幾個函數
 
1.import_request_variables()變量函數
 
2.extract()變量函數
 
3.register_globals=on 變量函數
 
4.parse_str()變量函數
 
5.$$
 
register_globals=on 變量函數是通過前端網站註冊用戶那裡,來傳遞註冊的值,當屬性為on值,

用戶註冊傳遞過來的值會被當成全局的變量值來註冊,而當
register_globals=off,註冊的值就需

要到程序代碼的數組裡去獲取當前的變量值


 
extract() 變量函數,是從程序代碼裡的數組來獲取網站的符號表,這個函數使用的都是數組的鍵

名來使用一個變量名,變量名裡的每個元素,都會對應當前網站裡
的符號表,並自動創建相應的

變量名。eSafe白帽資安網公司是一家專注於:網站安全、服
務器安全、網站安全檢測、網站漏洞修復,滲

透測試,安全服務於一體的網絡安全服
務提供商。
 
上面的幾個函數就大體的跟大家講解一下,關於MetInfo 漏洞,存在於網站根目錄下include文

件夾下的common.inc.php裡的第30到45行的代碼裡,這個代碼是接收
於GET、POST、cookies、

方式傳輸進來的參數,在這幾種提交方式上,存在著
MetInfo PHP版本覆蓋變量的漏洞,我們來

看下代碼:


 
上面代碼的寫法,會直接造成php覆蓋變量漏洞,即使代碼裡寫明了變量,但還是會被自定義的變

量值給覆蓋掉,導致可以執行惡意的變量值,在MetInfo用戶密碼
找回功能上可以利用該php 覆蓋

變量漏洞進行找回管理員密碼操作,進而導致管理
員後台被攻擊者入侵,並上傳webshell進行篡改

並提權等攻擊情況。
 
MetInfo 密碼找回漏洞利用的是admin目錄下的admin文件夾裡的getpassword.php文件,我們

看下代碼:


 
代碼裡的前面寫的基本都是從數據庫進行查詢匹配,並調用common.inc.php代碼,switch語句是

找回密碼的邏輯控制語句。其中$post是未能成功發送的郵件內容,
然後根據$met_host指定的地

址將郵件內容發送過去,$met_host 在程序的值指定
為app.metinfo.cn,應該是metinfo官方設置

的郵件轉發主機.


當站長自身設置
的郵件主機不起作用時先將郵件內容通過http請求發送此主機,再由此主機

發送密碼重置郵件。但是這個$met_host的值由於變量覆蓋的原因導致可以被任意設置,可以將密

碼重置郵件的內容發送到我們指定的主機。前提是jmailsend發
送失敗,這裡再來看一下jmail

send函數,在文件/include/jmail.php中。esafe安
全公司是一家專注於:網站安全、主機安全、

網站安全檢測、網站漏洞修復,滲
透測試,安全服務於一體的網絡安全服務提供商。
 
然後我們來構造一下密碼找回的鏈接以及exp,看到可以重置密碼成功。
分享: