ITPub博客

首页 > 数据库 > > 【DB安全攻防战】数据越权读取之RELFILENODE篇

【DB安全攻防战】数据越权读取之RELFILENODE篇

作者:GaussDB_数据库 时间:2020-03-12 15:14:01 0 删除 编辑

你的数据是如何泄露的-RELFILENODE篇

前记:

         这并不是什么黑科技,只是借用PG存储中RELFILENODE信息,借助DBA用户的OS权限,可实现从TBL1中读书数据时,映射TBL2的实际物理文件,达到越权访问的目的。

1.       创建权限最小化的两个用户

SQL语句如下:

CREATE USER myuser01 PASSWORD 'gauss@123';

CREATE USER myuser02 PASSWORD 'gauss@124';

1.1.     对应的执行操作:

2.       用户A创建自己的私有表,并INSERT数据

SQL语句如下:

CREATE TABLE myuser01.mytbl01 (name TEXT);

INSERT INTO myuser01.mytbl01 VALUES ('Wang'), ('Song'), ('Zhang');

2.1.     对应的执行操作:

3.       用户B借用OS权限,读取用户A的私有表信息

3.1.        用户B登录后直接读取用户A私有表信息失败

SELECT * FROM myuser01.mytbl01;

3.2.     用户B创建自己的私有表,其表结构与用户A私有表结构一致

\d+ myuser01.mytbl01

CREATE TABLE myuser02.mytbl02 (name TEXT);

3.3.     用户B查看自己的私有表以及用户A私有表的RELFILENODE信息

SELECT OID, DATNAME FROM PG_DATABASE WHERE DATNAME='POSTGRES';

SELECT OID, RELFILENODE, RELNAME FROM PG_CLASS WHERE RELNAME='MYTBL01' OR RELNAME='MYTBL02';

3.4.     借助OS权限,将用户A私有表的物理文件拷贝至用户B私有表下面

3.5.     用户B查看自己的私有表数据信息,此时用户A私有信息已泄露

SELECT * FROM myuser02.mytbl02;

3.6.     对应的执行操作:

 

4.       附:部分查阅资料

数据库架构,分布式与并行编程:

http://blog.itpub.net/30088583/

 

PostgreSQL的数据存储:

https://blog.csdn.net/fly2nn/article/details/6795819

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3126342/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19194