安全配置错误
当安全设置被定义、实施和维护为默认值时,就会出现安全配置错误。良好的安全性需要为应用程序、Web 服务器、数据库服务器和平台定义和部署安全配置。让软件保持最新状态也同样重要。
示例
一些典型的安全配置错误示例如下 −
如果服务器上未禁用目录列表,并且攻击者发现了这一点,那么攻击者只需列出目录即可找到任何文件并执行它。还可以获取包含所有自定义代码的实际代码库,然后查找应用程序中的严重缺陷。
应用服务器配置允许将堆栈跟踪返回给用户,从而可能暴露潜在的缺陷。攻击者获取错误消息提供的额外信息,这些信息足以让他们渗透。
应用服务器通常附带示例应用程序,这些应用程序的安全性并不好。如果不从生产服务器中删除,将导致服务器受到危害。
动手
步骤 1 − 启动 Webgoat 并导航到不安全的配置部分,让我们尝试解决这一挑战。相同的快照如下所示 −
步骤 2 − 我们可以尝试尽可能多的选项。我们只需要找到配置文件的 URL,并且我们知道开发人员遵循配置文件的命名约定。它可以是下面列出的任何内容。它通常通过 BRUTE 强制技术完成。
- web.config
- config
- appname.config
- conf
步骤 3 − 尝试各种选项后,我们发现 'http://localhost:8080/WebGoat/conf' 成功了。如果尝试成功,将显示以下页面 −
预防机制
所有环境(例如开发、QA 和生产环境)都应使用每个环境中无法轻易破解的不同密码进行相同配置。
确保采用强大的应用程序架构,在组件之间提供有效、安全的隔离。
它还可以通过运行自动扫描和定期进行审核来最大限度地降低这种攻击的可能性。