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
gha-lab-fb6df3d456 — Autorisiertes Sicherheitsforschungslabor zur Reproduktion von CVE-2025-46820 (GHSA-cwj7-6v67-2cm4): GITHUB_TOKEN wurde in öffentlich herunterladbare CI-Artefakte in phpgt/Dom persistiert. Snapshot von phpgt/Dom @ b73d7e8. | Kitploit
Tools/GitHubGitHub/pvharmo2/gha-lab-fb6df3d456
SchwachstellenanalyseCloud-SicherheitLieferkettensicherheitLernen & BildungKuratierte Ressourcen
GitHubpvharmo2/gha-lab-fb6df3d456

gha-lab-fb6df3d456

Autorisiertes Sicherheitsforschungslabor zur Reproduktion von CVE-2025-46820 (GHSA-cwj7-6v67-2cm4): GITHUB_TOKEN wurde in öffentlich herunterladbare CI-Artefakte in phpgt/Dom persistiert. Snapshot von phpgt/Dom @ b73d7e8.

Repository anzeigen
vor 22h 11mNoch 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

Automatisiertes Forschungsobjekt – nicht das Upstream-Projekt.

Dieses Repository ist ein Wegwerf-Labor, das von einer automatisierten Testumgebung für eine Masterarbeit an der Université Laval zur Reproduktion veröffentlichter GitHub-Actions-Workflow-Schwachstellen erstellt wurde. Es ist eine wörtliche Momentaufnahme von phpgt/Dom beim Commit b73d7e8b54963796132df99902c3224016511bb9 (2025-03-21), weiterverbreitet unter der eigenen Lizenz dieses Projekts, deren Datei unverändert in dieser Momentaufnahme enthalten ist.

Das Upstream-Projekt ist nicht beteiligt, wird niemals angegriffen, und die hier untersuchte Schwachstelle ist bereits öffentlich. Jedes Secret und jede Variable in diesem Repository ist ein zufällig generierter Dummy-Wert – es sind keine echten Anmeldedaten vorhanden. Aktionsreferenzen und Runner-Images sind auf das fixiert, was sie am 2025-03-21 aufgelöst haben; siehe pinning.md in der Testumgebungsausgabe für jede an der Momentaufnahme vorgenommene Änderung.

Fragen oder Einwände: [email protected]


The modern DOM API for PHP 7 projects

Moderne DOM-API.

Aufbauend auf dem nativen DOMDocument von PHP bietet dieses Projekt Zugriff auf moderne DOM-APIs, wie man es bei der Arbeit mit clientseitigem Code im Browser erwarten würde.

Die Durchführung von DOM-Manipulationen in Ihrem serverseitigen Code verbessert die Art und Weise, wie dynamische Seiten erstellt werden können. Die Verwendung einer standardisierten objektorientierten Schnittstelle bedeutet, dass die Seite vorverarbeitet werden kann, was Browsern, Webservern und Content-Delivery-Netzwerken zugutekommt.


Build status
Code quality
Code coverage
Current version
PHP.Gt/Dom documentation

Beispielverwendung: Hallo, du!

Wichtiger Hinweis: Das hier gezeigte Beispiel dient nur zur Veranschaulichung, aber die Verwendung des DOM zur direkten Zuweisung von Daten an die Werte von Elementen koppelt die Logik eng an die Ansicht, was als schlechte Praxis gilt. Bitte sehen Sie sich die Bibliothek DomTemplate für eine robustere Lösung zum Binden von Daten an das DOM an.

Stellen Sie sich eine Seite mit einem Formular vor, das ein Eingabeelement zur Eingabe Ihres Namens enthält. Wenn das Formular abgeschickt wird, soll die Seite Sie mit Ihrem Namen begrüßen.

Dies ist ein einfaches Beispiel dafür, wie Quell-HTML-Dateien als Vorlagen behandelt werden können. Dies lässt sich leicht auf fortgeschrittenere Vorlagenseiten anwenden, um dynamische Inhalte bereitzustellen, ohne nicht standardmäßige Techniken wie {{geschweifte Klammern}} für Platzhalter oder fehleranfällige HTML-Konstruktion aus PHP heraus mit echo '<div class='easy-mistake'>' . $content['opa'] . '</div>' zu benötigen.

Quell-HTML (name.html)

root@kitploit:~
<!doctype html>
<h1>
	Hello, <span class="name-output">you</span> !
</h1>

<form>
	<input name="name" placeholder="Your name, please" required />
	<button>Submit</button>
</form>

PHP zum Einfügen Ihres Namens (index.php)

root@kitploit:~
<?php
use Gt\Dom\HTMLDocument;
use Gt\Dom\HTMLElement\HTMLSpanElement;
require "vendor/autoload.php";

$html = file_get_contents("name.html");
$document = new HTMLDocument($html);

if(isset($_GET["name"])) {
	$span = $document->querySelector(".name-output");
	$span->innerText = $_GET["name"];
}

echo $document;

Funktionen auf einen Blick

  • Kompatibel mit dem DOM Living Standard des W3C:
    • Der Typ Element repräsentiert alle HTMLElement-Spezifikationen, wie HTMLAnchorElement (<a>), HTMLButtonElement (<button>), HTMLInputElement (<input>), HTMLTableSectionElement (<thead>, <tbody>, <tfoot>) usw. Der jeweilige Typ kann mit Element::getElementType() erkannt werden, das einen der ElementType-Enum-Werte zurückgibt.
    • DOMException-Erweiterungen zum Abfangen verschiedener Arten von Ausnahmen, wie EnumeratedValueException, HierarchyRequestError, IndexSizeException usw.
    • Clientseitige Funktionalität als Stubs enthalten, einschließlich Klassen für FileList, StyleSheet, VideoTrackList, WindowProxy usw.
  • DOM-Level-4+-Funktionalität:
    • Referenzieren von Elementen mit CSS-Selektoren über Element::querySelector() und (Element::querySelectorAll())
    • Hinzufügen/Entfernen/Umschalten von Klassen der Elemente mit ClassList
    • Durchlaufen von Nur-Element-Knoten mit Element::previousElementSibling, Element::nextElementSibling, Element::children und Element::lastElementChild und firstElementChild usw.
    • Einfügen und Entfernen von untergeordneten Knoten mit , , ,
  • Standard-Eigenschaften auf dem HTMLDocument:
    • anchors
    • forms
    • image
    • links
    • scripts
    • title

Bekannte Einschränkungen / W3C-Spezifikationskonformität

Dieses Repository zielt darauf ab, so genau wie möglich der DOM-Spezifikation unter https://dom.spec.whatwg.org/ zu entsprechen – ab v4.0.0 ist die gesamte Funktionalität mit den folgenden geringfügigen, aber unvermeidbaren Abweichungen vom Standard implementiert:

  • Die tagName-Eigenschaft von Elementen ist in Großbuchstaben.
  • Um den HTMLElement-Typ zu prüfen, muss Element::getElementType() aufgerufen werden – es sind keine Unterklassen von Element für die Verwendung mit instanceof verfügbar, zum Beispiel.
  • Die DOM-Spezifikation definiert Funktionalität, die nur clientseitig implementiert werden kann. Beispielsweise gibt HTMLInputElement::files eine FileList zurück, die alle Dateien auflistet, die vom Benutzer über die Browseroberfläche ausgewählt wurden. Diese Art von Funktionalität ist serverseitig unmöglich zu implementieren, wurde aber aus Gründen der Konsistenz mit der Spezifikation als Stub bereitgestellt. Der Versuch, clientseitige Funktionalität innerhalb dieser Bibliothek zu verwenden, löst eine ClientSideOnlyFunctionalityException aus.

Datenbindungs- und Seitenvorlagenfunktionen

Dieses Repository soll so genau wie möglich der DOM-Spezifikation entsprechen. Eine Erweiterung des Repositorys ist unter https://php.gt/domtemplate verfügbar, die Seitenvorlagen und Datenbindung durch benutzerdefinierte Elemente und Vorlagenattribute hinzufügt und serverseitige Funktionalität ähnlich der von WebComponents einführt.

Natives HTMLDocument in PHP 8.4

Seit der Veröffentlichung von PHP 8.4 gibt es eine neue native HTMLDocument-Klasse, die nativ in PHP enthalten ist. Da diese native Bindungen hat, sind alle Operationen viel schneller. Es wurde mit der Arbeit begonnen, die Dom-Implementierung von PHPGT zur Nutzung des neuen nativen Codes zu bringen. Glücklicherweise ist das DOM ein sehr gut definierter Standard, sodass unabhängig davon, was passiert, nur minimale oder keine Änderungen an Ihrem Code erforderlich sein werden.

Werfen Sie selbst einen Blick auf die Benchmarks im Zweig php84-benchmark: Die meisten Operationen verzeichnen eine Geschwindigkeitssteigerung von 90 % oder mehr durch die Umstellung auf die native Implementierung!

Weitere Informationen werden in der Readme bereitgestellt, sobald mehr Arbeit in Richtung einer Implementierung der nativen Klassen geleistet wurde.

Tool herunterladen
ChildNode::remove()
ChildNode::before
ChildNode::after
ChildNode::replaceWith()