首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果您在应用服务器上,可以从数据库服务器获取数据吗?

如果您在应用服务器上,可以从数据库服务器获取数据吗?
EN

Security用户
提问于 2018-08-22 05:06:03
回答 1查看 197关注 0票数 0

例如,您正在攻击使用两个不同服务器的应用程序:应用服务器和数据库服务器。您发现了一个漏洞,该漏洞允许您在应用服务器上执行任意操作系统命令。如何利用此漏洞检索数据库中保存的敏感应用程序数据?

我的看法是,如果我可以执行任意OS命令,那么我将尝试从配置文件中查找数据库凭据,然后登录。(间接回答为否)。

EN

回答 1

Security用户

回答已采纳

发布于 2018-08-23 08:06:41

简而言之:可能

一方面,是的,这是一个非常真实的风险。对于许多普通的应用程序安装和数据库部署,此漏洞确实会让您访问数据。

另一方面,即使在这个阶段,攻击者也可以被阻止。有许多技术可以减轻这种风险。例如:

  1. 在操作系统上的有限特权。攻击者在应用程序服务器上执行的任意命令必须使用特定用户凭据执行;如果用户帐户已按照最小特权原则配置,则用户帐户可能无权执行这些任意命令。理想情况下,用户帐户将拥有运行应用程序的权限,但绝对不会做任何其他操作。注意:SELinux是进一步限制对OS资源的访问的一种强大技术。
  2. 对DB的访问受到限制。即使攻击者发现数据库凭据,它们也可能没有多大用处。数据库可能会被配置,因此这些凭据仅对该应用程序有效;因此它们不能用于通过任何其他工具连接到数据库。或者,可以配置数据库,使这些凭据仅从这一个客户端地址有效;因此,所有攻击者的db连接都必须通过数据库服务器进行隧道化,而不是通过攻击者自己的系统进行隧道化。
  3. 没有存储的DB凭据。例如,可以设计一个应用程序,以便用户在登录时输入他们的凭据,并且这些凭据用于访问DB。在这种情况下,应用服务器上的攻击者无法连接到DB,无论他们拥有多少OS级别的控制。
  4. DB凭据存储在其他地方。可以将应用程序配置为在运行时从单独的服务获取DB凭据;除应用程序本身之外,此单独的服务可能不允许连接。

进一步注意:这些技术并不是排他性的,因此组合它们可能是限制攻击者访问的一种强有力的方法。然而,这些技术中的每一种都需要复杂的非默认配置,而简单的部署很可能会忽略每一种技术。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/192065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档