暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A 数据是如何泄露的-RELFILENODE越权访问

原创 章芋文 2019-10-01
409

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

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

SQL语句如下:

CREATE USER myuser01 PASSWORD 'gauss@123';

CREATE USER myuser02 PASSWORD 'gauss@124';


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

SQL语句如下:

CREATE TABLE myuser01.mytbl01 (name TEXT);

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


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;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论