Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/pvharmo2/gha-lab-fb6df3d456
漏洞分析云安全供应链安全学习与教育精选资源
GitHubpvharmo2/gha-lab-fb6df3d456

gha-lab-fb6df3d456

授权安全研究实验室复现 CVE-2025-46820(GHSA-cwj7-6v67-2cm4):phpgt/Dom 中 GITHUB_TOKEN 被持久化到可公开下载的 CI 制品中。phpgt/Dom @ b73d7e8 的快照。

查看仓库
22小时11分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

自动化研究产物 — 非上游项目。

本仓库是由自动化工具链为拉瓦尔大学(Université Laval)硕士论文构建的一次性实验环境,用于复现已发表的 GitHub Actions 工作流漏洞。它是 phpgt/Dom 在提交 b73d7e8b54963796132df99902c3224016511bb9(2025-03-21)时的逐字快照,依据该项目自身的许可证重新分发,该许可证文件已原样包含在本快照中。

上游项目未参与其中,也从未成为攻击目标,此处研究的漏洞已公开。本仓库中的每个密钥和变量均为随机生成的虚拟值——不存在任何真实凭据。操作引用和运行器镜像均固定为其在 2025-03-21 解析到的版本;有关对快照所做的每项更改,请参阅工具链输出中的 pinning.md。

如有疑问或异议:[email protected]


适用于 PHP 7 项目的现代 DOM API

现代 DOM API。

本项目构建于 PHP 原生 DOMDocument 之上,提供对现代 DOM API 的访问,如同您在浏览器中处理客户端代码时所期望的那样。

在服务端代码中执行 DOM 操作可增强动态页面的构建方式。利用标准化的面向对象接口,页面可以预先处理,从而使浏览器、Web 服务器和内容分发网络受益。


构建状态 代码质量 代码覆盖率 当前版本 PHP.Gt/Dom 文档

用法示例:你好,你!

重要提示: 此处示例仅用于说明目的,但使用 DOM 直接将数据设置到元素的值会将逻辑与视图紧密耦合,这被视为不良实践。请参阅 DomTemplate 库以获取将数据绑定到 DOM 的更稳健的解决方案。

考虑一个包含表单的页面,其中有一个输入元素用于输入您的姓名。当表单提交时,页面应通过您的姓名向您问候。

这是一个简单的示例,说明如何将源 HTML 文件视为模板。这可以轻松应用于更高级的模板页面以提供动态内容,而无需使用非标准技术,例如 {{花括号}} 作为占位符,或 echo '<div class='easy-mistake'>' . $content['opa'] . '</div>' 这种在 PHP 中容易出错的 HTML 拼接方式。

源 HTML(name.html)

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

<form>
	<input name="name" placeholder="请输入您的姓名" required />
	<button>提交</button>
</form>

用于注入您姓名的 PHP(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;

功能一览

  • 兼容 W3C 的 DOM 实时标准:
    • Element 类型代表所有 HTMLElement 规范,例如 HTMLAnchorElement(<a>)、HTMLButtonElement(<button>)、HTMLInputElement(<input>)、HTMLTableSectionElement(<thead>、<tbody>、<tfoot>)等。特定类型可通过 Element::getElementType() 检测,该方法返回 ElementType 枚举值之一。
    • DOMException 扩展用于捕获不同类型的异常,例如 、、 等。

已知限制 / W3C 规范合规性

本仓库旨在尽可能准确地遵循 https://dom.spec.whatwg.org/ 上的 DOM 规范——自 v4.0.0 起,所有功能均已实现,但与标准存在以下微小且不可避免的偏差:

  • 元素的 tagName 属性为大写。
  • 要检查 HTMLElement 类型,必须调用 Element::getElementType()——例如,没有可用于 instanceof 的 Element 子类。
  • DOM 规范定义了只能在客户端实现的功能。例如,HTMLInputElement::files 返回一个 FileList,用于枚举用户通过浏览器界面选择的所有文件。此类功能无法在服务端实现,但已为与规范保持一致而进行了存根。在本库中尝试使用客户端功能会抛出 ClientSideOnlyFunctionalityException。

数据绑定和页面模板功能

本仓库旨在尽可能准确地遵循 DOM 规范。该仓库的扩展可在 https://php.gt/domtemplate 获取,它通过自定义元素和模板属性添加页面模板和数据绑定功能,引入类似 WebComponents 的服务端功能。

PHP 8.4 原生 HTMLDocument

自 PHP 8.4 发布以来,PHP 原生内置了一个新的原生 HTMLDocument 类。由于具有原生绑定,所有操作都更快。已经开始着手使 PHPGT 的 Dom 实现利用新的原生代码。幸运的是,DOM 是一个非常明确的标准,因此无论发生什么,您的代码都只需极少或无需更改。

请自行查看 php84-benchmark 分支上的基准测试:大多数操作记录显示,切换到原生实现后速度提升了 90% 或更高!

当在原生类的实现方面取得更多进展时,自述文件中将提供更多信息。

下载工具
EnumeratedValueException
HierarchyRequestError
IndexSizeException
  • 客户端功能已存根,包括 FileList、StyleSheet、VideoTrackList、WindowProxy 等类。
  • DOM 第 4 级及以上功能:
    • 通过 Element::querySelector() 和 Element::querySelectorAll() 使用 CSS 选择器引用元素
    • 使用 ClassList 添加/移除/切换元素的类
    • 使用 Element::previousElementSibling、Element::nextElementSibling、Element::children、Element::lastElementChild 和 firstElementChild 等遍历仅包含元素的节点
    • 使用 ChildNode::remove()、ChildNode::before、ChildNode::after、ChildNode::replaceWith() 插入和移除子节点
  • HTMLDocument 上的标准属性:
    • anchors
    • forms
    • image
    • links
    • scripts
    • title