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-2024-32830-poc — PoC-Code zum Herunterladen von Dateien mit CVE-2024-32830 | Kitploit
Tools/GitHubGitHub/ptrstr/cve-2024-32830-poc
Payload-GenerierungSchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-Exploitation
GitHubptrstr/cve-2024-32830-poc

CVE-2024-32830-poc

PoC-Code zum Herunterladen von Dateien mit CVE-2024-32830

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

CVE-2024-32830-poc

PoC-Code zum Herunterladen von Dateien mit CVE-2024-32830

getimagesize-Umgehung

Um die getimagesize-Einschränkung zu umgehen, können wir ein einfaches image/vnd.wap.wbmp-Bild für PHP erstellen.

Die Prüfung des Dateityps ist sehr einfach:

root@kitploit:~
// https://github.com/php/php-src/blob/0029d2b08bbd3cb3aa293d9c8d55bf31faa9e203/ext/standard/image.c#L917
static int php_get_wbmp(php_stream *stream, struct gfxinfo **result, int check)
{
	int i, width = 0, height = 0;

	if (php_stream_rewind(stream)) {
		return 0;
	}

	/* get type */
	if (php_stream_getc(stream) != 0) {
		return 0;
	}

	/* skip header */
	do {
		i = php_stream_getc(stream);
		if (i < 0) {
			return 0;
		}
	} while (i & 0x80);

	/* get width */
	do {
		i = php_stream_getc(stream);
		if (i < 0) {
			return 0;
		}
		width = (width << 7) | (i & 0x7f);
		/* maximum valid width for wbmp (although 127 may be a more accurate one) */
		if (width > 2048) {
			return 0;
		}
	} while (i & 0x80);

	/* get height */
	do {
		i = php_stream_getc(stream);
		if (i < 0) {
			return 0;
		}
		height = (height << 7) | (i & 0x7f);
		/* maximum valid height for wbmp (although 127 may be a more accurate one) */
		if (height > 2048) {
			return 0;
		}
	} while (i & 0x80);

	if (!height || !width) {
		return 0;
	}

	if (!check) {
		(*result)->width = width;
		(*result)->height = height;
	}

	return IMAGE_FILETYPE_WBMP;
}

Der einfachste Weg, ein gültiges Bild zu konstruieren, wäre mit zwei NUL-Bytes, gefolgt von zwei < 0x80-Bytes für Breite und Höhe.

Dies ist für jede Datei mit php://filter möglich.

Die erste Schicht müsste eine Base64-Kodierung anwenden, um sicherzustellen, dass alle Daten ASCII sind und somit die < 0x80-Einschränkung erfüllt wird.

Der zweite Filter müsste die ersten beiden NUL-Bytes hinzufügen. Dies ist möglich, indem man eine Konvertierung von UTF-16BE zu UTF-32BE erzwingt. Dadurch wird iconv gezwungen, jeden Block von zwei Bytes als ein gültiges UTF-16BE-Zeichen zu interpretieren und ihm zwei NUL-Bytes voranzustellen, um daraus UTF-32BE zu machen. Der tatsächlich zu verwendende Filter ist: convert.iconv.utf-16be.utf-32be.

Unser endgültiges Payload ist php://filter/convert.base64-encode/convert.iconv.utf-16be.utf-32be/resource=<file here>.

Tool herunterladen