mysql udf提权_三分钟解析postgresql提权

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

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

创建环境

b270396bc3158f0d3ffbeee92de18348.png

介绍

docker中有一个COPY命令;

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

postgresql文件读取

37c7d3b93e9ccab14c54c494b0e5c806.png
2ab0665628909f20c6c65bc632ba263d.png

postgresql文件写入

46bffe89d6ed8659955ff69e0e49f38f.png
59448ee310997437986413917d7e83da.png
cc240841a357efeda68a5c229df5bfcd.png

命令执行

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

查看版本号;

44317008b57d18ca16730db279cb454e.png
e801bea506c41b629ad568ee5e874cb4.png

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

e83966f82522a0daa848c728b728d27b.png

编译UDF;

714c464634c68f9304d0ad11afc95ae2.png
e96d90372b4744902852bcd8fa639e24.png

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

fe70012d7b45647a0e0ab57ae340ae84.png

解析;

6bc30b8f1d40cb9e6bfaaa5d4631f7e5.png

9.6的payload

3b1f02cb7ca3136cc29df96ff69c20f4.png
934773fb0be78d675657b547f26432d6.png

9.5的payload

3c3b21f6d43c51f63a9d2645daeda7ee.png

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

6ad7db66f7bac5f77defb67686f4d0e7.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值