Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gha-lab-fb6df3d456 — Laboratorio di ricerca sulla sicurezza autorizzato che riproduce CVE-2025-46820 (GHSA-cwj7-6v67-2cm4): GITHUB_TOKEN persistito in artefatti CI scaricabili pubblicamente in phpgt/Dom. Snapshot di phpgt/Dom @ b73d7e8. | Kitploit
Strumenti/GitHubGitHub/pvharmo2/gha-lab-fb6df3d456
Analisi delle VulnerabilitàSicurezza CloudSicurezza della Supply ChainApprendimento e FormazioneRisorse Curate
GitHubpvharmo2/gha-lab-fb6df3d456

gha-lab-fb6df3d456

Laboratorio di ricerca sulla sicurezza autorizzato che riproduce CVE-2025-46820 (GHSA-cwj7-6v67-2cm4): GITHUB_TOKEN persistito in artefatti CI scaricabili pubblicamente in phpgt/Dom. Snapshot di phpgt/Dom @ b73d7e8.

Vedi Repository
22h 11m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Artefatto di ricerca automatizzato — non è il progetto upstream.

Questo repository è un laboratorio usa e getta costruito da un sistema automatizzato per una tesi magistrale presso l'Université Laval sulla riproduzione di vulnerabilità pubblicate nei workflow di GitHub Actions. Si tratta di uno snapshot integrale di phpgt/Dom al commit b73d7e8b54963796132df99902c3224016511bb9 (2025-03-21), ridistribuito sotto la licenza del progetto stesso, il cui file è incluso invariato in questo snapshot.

Il progetto upstream non è coinvolto, non è mai preso di mira, e la vulnerabilità studiata qui è già pubblica. Ogni segreto e variabile in questo repository è un valore fittizio generato casualmente — nessuna credenziale reale è presente. I riferimenti alle action e le immagini dei runner sono bloccati a ciò a cui risolvevano il 2025-03-21; consulta pinning.md nell'output del sistema per ogni modifica apportata allo snapshot.

Domande o obiezioni: [email protected]


The modern DOM API for PHP 7 projects

Modern DOM API.

Costruito sopra il DOMDocument nativo di PHP, questo progetto fornisce accesso alle moderne API DOM, come ci si aspetterebbe lavorando con codice lato client nel browser.

Eseguire manipolazioni DOM nel codice lato server migliora il modo in cui le pagine dinamiche possono essere costruite. Utilizzare un'interfaccia orientata agli oggetti standardizzata significa che la pagina può essere pre-elaborata, a beneficio di browser, server web e reti di distribuzione dei contenuti.


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

Esempio di utilizzo: Ciao, tu!

Nota importante: l'esempio mostrato qui è a scopo illustrativo, ma usare il DOM per impostare direttamente i dati nei valori degli elementi accoppia strettamente la logica alla vista, il che è considerato una cattiva pratica. Consulta la libreria DomTemplate per una soluzione più robusta per il binding dei dati al DOM.

Considera una pagina con un modulo, con un elemento input per inserire il tuo nome. Quando il modulo viene inviato, la pagina dovrebbe salutarti con il tuo nome.

Questo è un semplice esempio di come i file HTML sorgente possano essere trattati come template. Questo può essere facilmente applicato a pagine template più avanzate per fornire contenuti dinamici, senza richiedere tecniche non standard come {{parentesi graffe}} per i segnaposto, o la costruzione di HTML soggetta a errori come echo '<div class='easy-mistake'>' . $content['opa'] . '</div>' direttamente da PHP.

HTML sorgente (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 usato per iniettare il tuo nome (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;

Funzionalità in sintesi

  • Compatibile con il DOM Living Standard del W3C:
    • Il tipo Element rappresenta tutte le specifiche HTMLElement, come HTMLAnchorElement (<a>), HTMLButtonElement (<button>), HTMLInputElement (<input>), HTMLTableSectionElement (<thead>, <tbody>, <tfoot>), ecc. Il tipo particolare può essere rilevato con Element::getElementType(), che restituisce uno dei valori dell'enum ElementType.
    • Estensioni di DOMException per catturare diversi tipi di eccezione, come EnumeratedValueException, HierarchyRequestError, IndexSizeException, ecc.
    • Funzionalità lato client predisposte, incluse classi per FileList, StyleSheet, VideoTrackList, WindowProxy, ecc.
  • Funzionalità DOM di livello 4+:
    • Riferimento agli elementi usando selettori CSS tramite Element::querySelector() e (Element::querySelectorAll())
    • Aggiungere/rimuovere/alternare le classi degli elementi usando ClassList
    • Attraversare i Node solo-Element con Element::previousElementSibling, Element::nextElementSibling, Element::children e Element::lastElementChild e firstElementChild, ecc.
    • Inserire e rimuovere Node figli con , , ,
  • Proprietà standard su HTMLDocument:
    • anchors
    • forms
    • image
    • links
    • scripts
    • title

Limitazioni note / conformità alla specifica W3C

Questo repository mira a essere il più accurato possibile rispetto alla specifica DOM disponibile su https://dom.spec.whatwg.org/ - a partire dalla v4.0.0 tutte le funzionalità sono implementate con le seguenti deviazioni minori ma inevitabili dallo standard:

  • La proprietà tagName degli elementi è in maiuscolo.
  • Per verificare il tipo HTMLElement, deve essere chiamato Element::getElementType() - non sono disponibili sottoclassi di Element per l'uso con instanceof, per esempio.
  • La specifica DOM definisce funzionalità che è possibile implementare solo lato client. Per esempio, HTMLInputElement::files restituisce un FileList che elenca tutti i file selezionati dall'utente tramite l'interfaccia del browser. Questo tipo di funzionalità è impossibile da implementare lato server, ma è stata predisposta per coerenza con la specifica. Tentare di usare funzionalità lato client all'interno di questa libreria genera una ClientSideOnlyFunctionalityException.

Funzionalità di binding dei dati e template di pagina

Questo repository intende essere il più accurato possibile rispetto alla specifica DOM. Un'estensione del repository è disponibile su https://php.gt/domtemplate che aggiunge templating di pagina e binding dei dati tramite elementi personalizzati e attributi di template, introducendo funzionalità lato server simili a quelle dei WebComponents.

HTMLDocument nativo di PHP 8.4

Dall'uscita di PHP 8.4, è disponibile una nuova classe nativa HTMLDocument inclusa direttamente in PHP. Grazie ai binding nativi, tutte le operazioni sono molto più veloci. È stato avviato il lavoro per far sì che l'implementazione Dom di PHPGT utilizzi il nuovo codice nativo. Fortunatamente, il DOM è uno standard molto ben definito, quindi qualunque cosa accada, saranno necessarie modifiche minime o nulle al tuo codice.

Dai un'occhiata ai benchmark sul ramo php84-benchmark: la maggior parte delle operazioni registra un aumento di velocità del 90% o superiore passando all'implementazione nativa!

Maggiori informazioni saranno fornite nel readme quando sarà stato fatto più lavoro verso un'implementazione delle classi native.

Scarica lo strumento
ChildNode::remove()
ChildNode::before
ChildNode::after
ChildNode::replaceWith()