不安全的源代码管理


文档摘要

不安全的源代码管理 不安全的源代码管理(SCM)可能导致 Web 应用和服务中出现若干严重漏洞。开发人员通常依赖 Git 和 Subversion(SVN)等 SCM 系统来管理源代码版本。然而,不良的安全实践,例如在生产环境中将 .git 和 .svn 文件夹暴露在互联网上,会带来重大风险。 摘要 方法论 Bazaar Git Mercurial Subversion 实验环境 参考文献 方法论 在 Web 服务器上暴露版本控制系统文件夹可能会导致严重的安全风险,包括: 源代码泄露:攻击者可以下载整个源代码仓库,从而获取应用程序的逻辑。 敏感信息泄露:代码库中可能包含嵌入的密钥、配置文件和凭据。 提交历史泄露:攻击者可以查看过去的更改记录,从而发现之前曾暴露但后来已缓解的敏感信息。

不安全的源代码管理

不安全的源代码管理(SCM)可能导致 Web 应用和服务中出现若干严重漏洞。开发人员通常依赖 Git 和 Subversion(SVN)等 SCM 系统来管理源代码版本。然而,不良的安全实践,例如在生产环境中将 .git 和 .svn 文件夹暴露在互联网上,会带来重大风险。

摘要

方法论

在 Web 服务器上暴露版本控制系统文件夹可能会导致严重的安全风险,包括:

  • 源代码泄露:攻击者可以下载整个源代码仓库,从而获取应用程序的逻辑。
  • 敏感信息泄露:代码库中可能包含嵌入的密钥、配置文件和凭据。
  • 提交历史泄露:攻击者可以查看过去的更改记录,从而发现之前曾暴露但后来已缓解的敏感信息。

第一步是收集有关目标应用程序的信息。这可以通过各种 Web 勘察工具和技术来完成。

  • 手动检查:通过导航到常见的 SCM 路径,手动检查 URL。

    • Git: http://target.com/.git/
    • SVN: http://target.com/.svn/
  • 自动化工具:请参阅与特定技术相关的页面。

一旦识别出潜在的 SCM 文件夹,就应检查 HTTP 响应码和内容。您可能需要绕过 .htaccess 或反向代理规则。

以下 NGINX 规则在访问 /.git 端点时,会返回 403 (Forbidden) 响应,而不是 404 (Not Found)

location /.git { deny all; }

例如,在 Git 中,利用该技术并不需要列出 .git 文件夹的内容(http://target.com/.git/),只要能够读取文件,就可以继续提取数据。

实验环境

参考文献

免责声明
本文件由基于人工智能的机器翻译服务翻译而成。尽管我们力求翻译准确,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言版本的文件为准。对于关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。


作者与出处
原作者: swisskyrepo
来源:swisskyrepo
许可证:MIT
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: swisskyrepo 转发
评论区 (0)
U