题目描述:
具有数据库 服务器文件读取权限的攻击者可以利用此漏洞执行任意系统命令。
从9.3版本开始,Postgres新增了一个COPY TO/FROM PROGRAM功能,允许数据库的超级用户以及pg_read_server_files组中的任何用户执行操作系统命令。
提示:Flag在/etc/flag.txt文件下
解:
1.直接yum install postgresql失败,修复 yum 源来安装 psql:
(1)备份现有源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)使用阿里云源:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(3)清理并重建缓存:
yum clean all yum makecache
(4)再次尝试安装:
yum install postgresql -y
现在已经安装好了 Yum 源,使用下面的命令来安装 PostgreSQL 9.3 的服务器和客户端软件包:
sudo yum install -y postgresql93-server postgresql93
2. 初始化数据库
安装完成后,需要对数据库进行初始化操作,让 PostgreSQL 9.3 可以正常使用,执行以下命令:
sudo /usr/pgsql-9.3/bin/postgresql93-setup initdb
3. 启动并设置开机自启
初始化完成后,使用 systemctl
命令来启动 PostgreSQL 9.3 服务,并且设置为开机自启,确保每次系统启动时 PostgreSQL 服务都会自动启动,执行以下命令:
sudo systemctl start postgresql-9.3
sudo systemctl enable postgresql-9.3
4. 将 PostgreSQL 9.3 的可执行文件路径添加到 PATH
环境变量
PostgreSQL 9.3 的可执行文件通常存于 /usr/pgsql-9.3/bin
目录,你可以将这个路径添加到 PATH
环境变量中。
临时添加路径
在当前终端会话里临时添加路径到 PATH
环境变量,执行命令:
export PATH=$PATH:/usr/pgsql-9.3/bin