一个存在 CVE-2022-44900 漏洞的演示性 Web 应用。
CVE-2022-44900 是 Python 库 py7zr 0.20.0 及更早版本中 SevenZipFile.extractall() 函数的一个目录遍历漏洞,允许攻击者通过恶意 7z 文件提取在本地机器上读取和写入任意文件。
要利用 CVE-2022-44900 漏洞,攻击者需要创建一个恶意 7z 压缩包,其中包含一个符号链接以实现任意文件读取,以及一个文件名包含路径遍历载荷的文件以实现任意文件写入。
更多详情请访问:https://lessonsec.com/cve/cve-2022-44900/
使用 slip 生成恶意压缩包:https://github.com/0xless/slip
要运行存在漏洞的 Web 应用,你可以选择创建 Docker 容器,或者仅运行服务器。
如果你决定仅运行服务器,需要先执行:
pip3 install py7zr==0.20.0
以安装存在漏洞的 py7zr 版本。
然后直接运行应用:
python3 slipper.py
Web 应用将在 localhost:9999 可访问。
要创建容器,请使用 Dockerfile 构建 slipper 镜像。
然后创建一个使用 host 网络并暴露端口 9999 的容器。与另一种安装方法一样,这将允许你在 localhost:9999 访问 Web 应用。
网站将显示如下:

现在你可以提取文件并尝试攻击此实验环境。
该 Web 应用不打算对公众开放,它可能还存在其他漏洞,并且并不能正确处理所有错误(正如你对正常网站的预期)。
请确保安全地使用此软件。
本项目基于 GPL-3.0 许可证 授权。