揭秘PostgreSQL提权:仅需三分钟

发表时间: 2019-08-21 19:00

本头条号所分享文章仅供学习交流,请勿非法使用!

近期遇到一些关于提权的问题,和大家分享一下~

创建环境

介绍

docker中有一个COPY命令;

COPY 在 PostgreSQL表和标准文件系统文件之间交换数据,该参数指示 PostgreSQL 服务器直接从文件中读写数据 COPY TO 把一个表的所有内容都拷贝到一个文件 COPY FROM 从一个文件里拷贝数据到一个表里(把数据附加到表中已经存在的内容里)。

postgresql文件读取

postgresql文件写入

命令执行

postgresql默认是可以执行C语言的。python和perl需要手动配置,那么可以利用udf实现命令执行,sqlmap的作者提供了mysql和postgresql的udf源码,地址在
https://github.com/sqlmapproject/udfhack

查看版本号;

不同版本的postgresql需要对应不同的版本udf,我的版本是9.6,所以需要重新编译udf。

编译UDF;

接下来我们需要将udf.so文件分割成每2048字节的块,最后一个块的大小不满足2048字节不需要考虑. python脚本;

解析;

9.6的payload

9.5的payload

get到了吗?记得添加我们的订阅号secdeer或在下方的留言区留言交流,帮助更多对网络安全领域感兴趣但无处下手的小伙伴们哦,快动一动小手,让更多小伙伴了解我们吧。