如何通过GitHub仓库失效链接劫持赚取2万美元以上

本文详细介绍了作者如何通过构建本地Bash管道扫描GitHub仓库中的失效链接,发现可劫持的资产,并在漏洞赏金计划中赚取超过2万美元的实战经验。

如何通过GitHub仓库失效链接劫持赚取2万美元以上

当其他人都在扫描网站时,我把注意力转向了GitHub仓库——并构建了一个Bash管道,帮助我发现别人遗漏的失效链接。

2021年,我专注于大多数漏洞赏金猎人最终都会探索的一个漏洞类别:失效链接劫持。

初始阶段

和其他人一样,我开始扫描网站、页脚和社交媒体链接中的过时资源。其中一些资源可以被接管(如S3存储桶、GCP、GitHub页面)。我获得了一些赏金,但很快意识到这个领域已经人满为患。太多人在追逐同样的低垂果实。

于是我开始寻找其他地方——那里猎人更少。

🔍 转向GitHub

由于我当时在GitHub上非常活跃(主要是为开源项目做贡献),我开始思考:

“为什么不扫描GitHub仓库中的失效链接呢?”

毕竟,仓库中充满了:

  • 包含过时URL的文档
  • 引用旧资产的CI/CD或安装脚本
  • 外部服务如S3、GCP或GitHub页面

最棒的是:没有多少猎人在大规模针对这个攻击面。

⚠️ GitHub搜索的限制

最初,我尝试了GitHub的搜索。但很快遇到了问题:

  • 无法搜索大型仓库的全部内容
  • 结果不完整且不一致
  • GitHub的API限制使自动化变得痛苦

于是我把搜索转移到了本地。

🛠️ 我的本地Bash管道

我构建了一个基本但强大的Bash管道:

  1. 将GitHub组织的所有仓库克隆到本地
  2. 使用正则表达式递归扫描所有文件以提取URL
  3. 对每个URL运行HTTP调用以检测404或410响应

我将这些脚本打包成一个工具,你可以在这里找到: 👉 github.com/arshadkazmi42/github-scanner-local

没什么花哨的——只是本地克隆和智能grep——但它很有效。

✅ 实际成果

我开始在漏洞赏金计划中的GitHub组织上运行这个工具,并看到了可观的回报:

  • 大多数组织至少有一个失效链接
  • 大约70-80%的报告被接受
  • 赏金从100美元到1,500美元不等
  • 少数案例获得更多,特别是当资产劫持或接管成为可能时

仅这种方法就帮助我在接受的漏洞赏金中赚取了超过20,000美元。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计