samii14565/POC-CVE-private
GitHub: samii14565/POC-CVE-private
该项目是一个概念验证代码,用于证明 Nuclei 引擎在特定版本中会在签名验证之前执行未签名模板的初始化逻辑。
Stars: 0 | Forks: 0
# 概念验证 作者:0d_samii
尽管 Nuclei 显示:
```
Found 1 unsigned or tampered javascript template
```
监听器接收到了
```
PWNED-VIA-UNSIGNED-INIT-arbitrary-attacker-JS-ran-at-parse-time
```
这意味着:
```
Template loaded
↓
init executed
↓
TCP connection created
↓
Data sent
↓
Only afterwards was the template rejected as unsigned
```
而不是更安全的顺序:
```
Template loaded
↓
Signature verified
↓
If invalid → stop
↓
Never execute init
```
# 为什么这很重要
如果 `init` 确实在签名验证之前执行,那么攻击者就可以在一个未签名的模板中嵌入任意的初始化逻辑。
根据报告,该初始化代码可以:
* 发起外部网络连接,
* 与从扫描机器可达的服务进行交互,
* 或者与另一个 endpoint 进行通信。
报告进一步指出,如果可用的网络 API 同时支持发送和接收数据(例如 `Send` 和 `RecvString` 结合使用),初始化阶段就有可能通过该连接交换数据。这是否能构成实际攻击,取决于具体的可用 API 和运行环境。
# PoC 实际证明了什么
接收到字符串:
```
PWNED-VIA-UNSIGNED-INIT-arbitrary-attacker-JS-ran-at-parse-time
```
**确实证明了** `init` 块在模板被拒绝之前就已经执行了,前提是你在受影响的版本上重现了该行为。
它**本身并不能证明**:
* 执行了任意的扫描代码 (`code`),
* 数据被窃取,
* 或者云元数据被访问。
这些是报告中讨论的潜在后果;PoC 本身仅证明了,尽管模板被认为是未签名的,但 `init` 块仍被提前执行了。
标签:CISA项目, Maven, 数据可视化, 漏洞验证