? Postgresql ? ? Database ?      2019-11-01

    渗透过程中经常会遇到5432端口的Postgresql 服务特意总结下常用的攻击方式,个人拙见,如有疑问请与我联系,欢迎一起讨论学习。

 

一、Postgresql 安装与启动

        安装:sudo apt-get install postgresql 安装后会:

        (1)创建名为"postgres"的Linux用户

        (2)创建名为"postgres"不带密码的默认数据库账号作为数据库管理员

        (3)创建名为"postgres"表

        (4)默认用户创建的库为public

        启动:sudo /etc/init.d/postgresql restart

 

二、数据库用户权限说明

    1. login: 可登录

    2. superuser:数据库超级用户

    3. createdb:创建数据库权限

    4. createrole:创建和删除其他普通用户的权限

    5. replication:流复制时用到的一个用户属性,需要单独设定

    6. password:登录时需要指定密码

    7. inherit:用户组对组员的一个集成标识,成员可以集成用户组的特性权限

 

三、psql管理

        执行命令:sudo -u postgres psql进入可以执行sql语句和psql的基本命令,链接远程数据库可以使用如下命令:

psql -U dbuser -d exampledb -h ip -p 5432

        常用的命令如下:

        (1)\password:设置密码

        (2)\h:查看SQL命令的解释,比如\h select

        (3)\l:列出所有数据库

        (4)\c [database_name]:连接其他数据库

        (5)\d:列出当前数据库的所有表格

        (6)\d [table_name]:列出某一张表格的结构

        (7)\du:列出所有用户

        (8)\conninfo:列出当前数据库和连接的信息

        (9)\q:退出

        psql备份与还原:

        (1)备份:

pg_dump -O -h 192.168.0.5 -U dbowner -w -p 5432