CVE-2018-18086 代碼審計

CVE-2018-18086 代碼審計

帝国CMS建站教程-92模板网-企业网站模板微信小程序源码免费下载平台

 

作者 : Noth

前言 :

自從上次分析 CVE-2018-18760 任意檔案下載漏洞,筆者漸漸有些不一樣的思維,網路世界的攻防,不僅僅只是滲透攻擊,而是要對我們所找到的漏洞進行剖析,了解其中漏洞的原由 ! 筆者也還在持續摸索當中,於是又寫了一篇 CVE-2018-18086 任意檔案上傳漏洞分析和大家分享。

內文 : 

一步一步進行跟蹤功能點,審計 ecmsmod.php 檔案

 

首先定義了常量以及引入檔案,第 8 行連線資料庫,第 9 行判斷是否連線成功,第 10 行 $enew  變數被賦予值,以 POST 方式傳遞 enews 參數的值,漏洞點是存在導入模組的功能,於是繼續追蹤到第 154 行。


當 $enews 變數所傳遞的值是 "LoadInMod",執行下列程式碼,LoadInMod 函式(存在安全漏洞) 定義了 7 個參數,繼續跟縱 LoadInMod 函式到 /e/class/moddofun.php 中。

我們直接看上傳文件功能的代碼,$path變數被賦予值以 make_password 對時間進行加密然後進行拼接為檔名,故我們沒辦法知道檔案路徑,之後再直接 include ($path),但其實 $path 變數是攻擊者可以控制,利用 file_put_contents 函式新建一個 php 檔案,內容為後門程式碼,接下來只要訪問就可以。

 

測試寫 phpinfo(),檔名叫做 shell.php,訪問路徑 :


 

嘗試寫個 webshell :


訪問路徑: 

連接後門 :

 

Reference : 

https://www.tfzx.net/article/939857.html

https://jingyan.baidu.com/article/48b37f8dcc014b1a6564887c.html

留言

熱門文章