正如标题所述,我不明白访问数据库的权限与在底层操作系统上写入/读取文件的权限之间的关系。
在我最新的 CTF 之一中,我必须获得对数据库的访问权限,然后读取包含该标志的服务器文件。我知道这只有在受感染的用户具有文件权限的情况下才有可能,但我的问题仍然是一样的。
Sqlmap 在其特性中声明它可以做到这一点:
当数据库软件为 MySQL、PostgreSQL 或 Microsoft SQL Server 时,支持从数据库服务器底层文件系统下载和上传任何文件。
现在我的具体问题:
- 允许此操作系统访问的核心功能/问题是什么?
- 为什么要连接权限?
- 其他 DBMS 是否也容易受到此攻击?这是一个普遍的问题(意味着 sqlmap 还没有为其他 dbms 提供漏洞利用)?
在我看来,权限应该被区别对待,db 用户不应该在操作系统上拥有权限,除了与 DBMS 相关的文件。
在此先感谢,我知道这个问题不仅限于一个方面,还包含各种基本主题。我也愿意做更多的研究,但也许有一个答案可以促进我的学习过程。