youdianCMS v8代碼審計


youdianCMS官方地址

一 代碼執行漏洞

在后台模板處修改任意模板添加php代碼即可執行。

youdiancms8.0\App\Core\Lib\Template\ThinkTemplate.class.php
97行,其使用include包含了模板文件

證明:
在后台模板管理處寫入phpinfo

2 刷新首頁,phpinfo執行了

二 XXE漏洞

后台模板管理處存在XXE漏洞,包括電腦模板管理,手機模板管理兩處
寫入

點擊設置會觸發XXE

接收到了請求

代碼審計:
1 /App/Lib/Action/Admin/TemplateAction.class.php:68
當攻擊者通過/index.php/Admin/template/Modify?file=/config.xml頁面修改xml文件后,通過此模塊功能進行保存,可以看到其對文件名進行驗證,對內容進行相關解碼但並未進行任何惡意代碼的過濾,使得攻擊者的惡意代碼可以順利保存。

2 /App/Lib/Action/Admin/TemplateAction.class.php:307
此為xxe漏洞的觸發頁面,當上述惡意代碼寫入config.xml並保存后通過此功能進行觸發。可以看到,代碼判斷config.xml文件存在時,實例一個YdTemplateConfig()對象,並調用getAttribute方法

三 文件上傳漏洞

CMS會在后台處設置允許上傳文件的格式白名單,且在代碼中有一串黑名單,當上傳文件時會對后綴驗證是否處在此黑名單。但是由於白名單可認為控制添加,黑名單存在繞過,所以出現了此漏洞

添加pht或phtml格式

任意上傳點都行

返回包中顯示了文件路徑

連接即可

代碼審計:
App/Lib/Action/BaseAction.class.php
可以看到作者添加了很多黑名單后綴,但是pht 和phtml未在其中,且可以執行php代碼。

四 任意文件上傳

CMS存在模板壓縮包上傳功能,但是未能對其中文件數量和內容進行控制,所以在壓縮包中添加任意文件即可

此為我添加在壓縮包中的后門文件

代碼審計:
App/Lib/Action/AdminBaseAction.class.php
代碼只對壓縮包進行了重名驗證,有效驗證,無任何安全性處理,所以存在此漏洞。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM