Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/pvharmo2/gha-lab-fb6df3d456
Análise de VulnerabilidadesSegurança na NuvemSegurança da Cadeia de SuprimentosAprendizado e EducaçãoRecursos Curados
GitHubpvharmo2/gha-lab-fb6df3d456

gha-lab-fb6df3d456

# Laboratório de pesquisa de segurança autorizado reproduzindo CVE-2025-46820 (GHSA-cwj7-6v67-2cm4): GITHUB_TOKEN persistido em artefatos de CI publicamente baixáveis em phpgt/Dom. Snapshot de phpgt/Dom @ b73d7e8.

Ver Repositório
há 22h 11mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Artefacto de pesquisa automatizado — não é o projeto original.

Este repositório é um laboratório descartável construído por um sistema automatizado para uma tese de mestrado na Université Laval sobre a reprodução de vulnerabilidades publicadas em workflows do GitHub Actions. É um instantâneo verbatim de phpgt/Dom no commit b73d7e8b54963796132df99902c3224016511bb9 (2025-03-21), redistribuído sob a licença desse próprio projeto, cujo ficheiro está incluído inalterado neste instantâneo.

O projeto original não está envolvido, nunca é alvo, e a vulnerabilidade aqui estudada já é pública. Todos os segredos e variáveis neste repositório são valores fictícios gerados aleatoriamente — nenhuma credencial real está presente. As referências a ações e imagens de runners estão fixadas ao que resolviam em 2025-03-21; consulte pinning.md na saída do sistema para todas as alterações feitas ao instantâneo.

Perguntas ou objeções: [email protected]


A API DOM moderna para projetos PHP 7

API DOM moderna.

Construído sobre o DOMDocument nativo do PHP, este projeto fornece acesso a APIs DOM modernas, tal como esperaria ao trabalhar com código do lado do cliente no navegador.

Realizar manipulação de DOM no seu código do lado do servidor melhora a forma como as páginas dinâmicas podem ser construídas. Utilizar uma interface orientada a objetos padronizada significa que a página pode ser pré-processada, beneficiando navegadores, servidores web e redes de distribuição de conteúdo.


Estado da compilação
Qualidade do código
Cobertura de código
Versão atual
Documentação PHP.Gt/Dom

Exemplo de utilização: Olá, você!

Nota importante: o exemplo aqui apresentado é meramente ilustrativo, mas usar o DOM para definir diretamente dados nos valores dos elementos acopla fortemente a lógica à vista, o que é considerado uma má prática. Consulte a biblioteca DomTemplate para uma solução mais robusta de ligação de dados ao DOM.

Considere uma página com um formulário, com um elemento de entrada para introduzir o seu nome. Quando o formulário é submetido, a página deve saudá-lo pelo seu nome.

Este é um exemplo simples de como ficheiros HTML de origem podem ser tratados como modelos. Isto pode ser facilmente aplicado a páginas de modelo mais avançadas para fornecer conteúdo dinâmico, sem exigir técnicas não padronizadas como {{chavetas}} para espaços reservados, ou construção de HTML propensa a erros como echo '<div class='easy-mistake'>' . $content['opa'] . '</div>' a partir de dentro do PHP.

HTML de origem (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 usado para injetar o seu 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;

Funcionalidades de relance

  • Compatível com o DOM Living Standard do W3C:
    • O tipo Element representa todas as especificações HTMLElement, tais como HTMLAnchorElement (<a>), HTMLButtonElement (<button>), HTMLInputElement (<input>), HTMLTableSectionElement (<thead>, <tbody>, <tfoot>), etc. O tipo específico pode ser detetado com Element::getElementType(), que devolve um dos valores do enum ElementType.
    • Extensões DOMException para capturar diferentes tipos de exceção, tais como EnumeratedValueException, HierarchyRequestError, IndexSizeException, etc.
    • Funcionalidade do lado do cliente simulada, incluindo classes para FileList, StyleSheet, VideoTrackList, WindowProxy, etc.
  • Funcionalidade DOM nível 4+:
    • Referenciar elementos usando seletores CSS via Element::querySelector() e (Element::querySelectorAll())
    • Adicionar/remover/alternar classes de elementos usando ClassList
    • Percorrer Nodes apenas de Elementos com Element::previousElementSibling, Element::nextElementSibling, Element::children e Element::lastElementChild e firstElementChild, etc.
    • Inserir e remover Nodes filhos com , , ,
  • Propriedades padrão no HTMLDocument:
    • anchors
    • forms
    • image
    • links
    • scripts
    • title

Limitações conhecidas / conformidade com a especificação W3C

Este repositório visa ser o mais preciso possível em relação à especificação DOM em https://dom.spec.whatwg.org/ - a partir da v4.0.0 toda a funcionalidade está implementada com as seguintes pequenas mas inevitáveis divergências do padrão:

  • A propriedade tagName dos elementos está em maiúsculas.
  • Para verificar o tipo HTMLElement, Element::getElementType() deve ser chamado - não existem subclasses de Element disponíveis para uso com instanceof, por exemplo.
  • A especificação DOM define funcionalidade que só é possível implementar no lado do cliente. Por exemplo, HTMLInputElement::files devolve um FileList que enumera todos os ficheiros selecionados pelo utilizador através da interface do navegador. Este tipo de funcionalidade é impossível de implementar no lado do servidor, mas foi simulada para consistência com a especificação. Tentar usar funcionalidade do lado do cliente dentro desta biblioteca lança uma ClientSideOnlyFunctionalityException.

Funcionalidades de ligação de dados e modelos de página

Este repositório pretende ser o mais preciso possível em relação à especificação DOM. Uma extensão deste repositório está disponível em https://php.gt/domtemplate que adiciona modelação de páginas e ligação de dados através de elementos personalizados e atributos de modelo, introduzindo funcionalidade do lado do servidor semelhante à dos WebComponents.

HTMLDocument nativo do PHP 8.4

Desde o lançamento do PHP 8.4, existe uma nova classe nativa HTMLDocument incluída no PHP. Com estas ligações nativas, todas as operações são muito mais rápidas. Foi iniciado trabalho para fazer a implementação Dom do PHPGT utilizar o novo código nativo. Felizmente, o DOM é um padrão muito bem definido, por isso, aconteça o que acontecer, serão necessárias alterações mínimas ou nenhumas ao seu código.

Veja os benchmarks no ramo php84-benchmark por si mesmo: a maioria das operações registou um aumento de velocidade de 90% ou mais ao mudar para a implementação nativa!

Mais informações serão apresentadas no readme quando mais trabalho for feito em direção a uma implementação das classes nativas.

Baixar ferramenta
ChildNode::remove()
ChildNode::before
ChildNode::after
ChildNode::replaceWith()