Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-26262 — Sitecore 10.3における認証済み任意ファイルアップロードの概念実証。言語インポート機能を介してウェブシェルの展開とリモートコード実行を可能にします。 | Kitploit
ツール/GitHubGitHub/istern/cve-2023-26262
ペイロード生成脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubistern/cve-2023-26262

CVE-2023-26262

Sitecore 10.3における認証済み任意ファイルアップロードの概念実証。言語インポート機能を介してウェブシェルの展開とリモートコード実行を可能にします。

リポジトリを見る
3年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Sitecore 10.3 認証済みファイルアップロード脆弱性

著者: Thomas Stern

日付: 2023年1月26日

概要

言語インポート機能を介して任意のファイルをアップロードすることが可能です。このファイルはWebシェルとなり、サーバー上でコードを実行できるようになります。

再現手順

この脆弱性をテストするために、Dockerを使用してローカルマシンにSitecore 10.3インスタンスを起動しました。 この脆弱性は以前のバージョンのSitecoreではテストされていませんが、古いバージョンでも同じ手法で脆弱性が存在する可能性があります。

環境情報

ホスト: Windows 11 Docker for Desktop を実行 Sitecore 10.3

Sitecore 情報

1. Sitecoreにログイン

認証済みの脆弱性であるため、有効な認証情報が必要です。このテストインスタンスでは admin/b を使用しました。

2. ツールボックスに移動

ツールボックスはSitecoreのコントロールパネルにあります。

Sitecore コントロールパネル

3. 「言語のインポート」を選択

次に言語インポートを選択します。

言語インポート

4. tempフォルダをインポート

まず「参照」を選択します。

アップロード パート1

次にtempフォルダを選択します。これがシェルの保存先にもなります。

アップロード パート2 保存先フォルダを選択

5. Webシェルをアップロード

テストに使用したコードは、https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmdasp.aspx からダウンロードしたシンプルなWebシェルです。デフォルトのcmdではなくPowerShellを実行するために小さな変更を加えました。

「アップロード」ボタンを選択し、シェルファイルを選んで「次へ」を押します。

シェルをアップロード

シェルがアップロードされました。

シェルのアップロード完了

6. コマンドを実行

アップロードされたシェルにアクセスします: "https://sitename/temp/shell.aspx" シェルがアップロードされると、システム上で完全なコード実行が可能になります。

コード実行

対策

言語ファイルをアップロードするコードでは、アップロードされるファイルを検証し、aspx、exeなどの実行可能ファイルのみを許可する必要があります。また、言語ファイルはコード実行を許可しないディレクトリにのみアップロードされるべきです。その方法の一つとして、以下のようにweb.configにブロックルールを追加することが挙げられます。これにより、2つのファイルへのすべてのリクエストがブロックされます。

root@kitploit:~
<rule name="BlockFileUpload" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
    <match url="*" />
    <conditions logicalGrouping="MatchAny">
        <add input="{URL}" pattern="*sitecore/shell/Applications/Files/FileBrowser.aspx" />
        <add input="{URL}" pattern="*sitecore/shell/Applications/Dialogs/Upload/Upload2.aspx" />
    </conditions>
    <action type="CustomResponse" statusCode="404" statusReason="File or directory not found." statusDescription="The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable." />
</rule>
ツールをダウンロード