文章

成为赏金猎人的第一步

介绍

欢迎来到惊心动魄的漏洞赏金狩猎世界 - 在这里,发现软件中的故障不仅是一种爱好,而且是通往潜在财富和认可的门户!想象一下,成为一名数字侦探,解开大多数人甚至不会注意到的谜团,并因此获得奖励。在本指南中,我们将揭示漏洞赏金猎杀的基础知识,逐步演练如何挖掘常见漏洞,并分享一些不错的资源来帮助您入门。系好安全带,这将是一次虫子般的旅程!

什么是漏洞赏金狩猎?

漏洞赏金狩猎就像是网络安全领域的超级英雄,但没有华丽的西装。它涉及嗅探和报告系统、应用程序或网站中的安全漏洞。公司运行漏洞赏金计划来引诱道德黑客(像您一样)发现并报告这些弱点,这有助于他们加强安全性。作为回报,您会从技术社区获得奖励、认可或至少是虚拟的击掌。

第 1 步:了解 Web 安全的基础知识

在开始搜寻错误之前,您需要熟悉 Web 安全的基础知识。将其视为学习网络侦探的 ABC。

  • HTTP & HTTPS:这些就像网络的邮政服务。HTTP 是标准协议,而 HTTPS 是它的安全表亲,用于加密浏览器和服务器之间的数据。始终使用 HTTPS — 这就像在 Web 上系安全带一样。
  • OWASP 前 10 大风险:这是您对 10 大 Web 安全风险的备忘单。熟悉这些麻烦制造者:
  • SQL 注入 (SQLi):当黑客把你的数据库当作玩具来玩的时候。
  • 跨站点脚本 (XSS):当错误的脚本在您的网站上崩溃时。
  • 损坏的身份验证:当您的登录系统像纸锁一样安全时。
  • 敏感数据泄露:当您的私人信息像在广告牌上一样被公开时。
  • XML 外部实体 (XXE):当您的 XML 文件成为偷偷摸摸的麻烦制造者时。
  • 访问控制失效:当用户访问的内容超出他们应该访问的内容时,例如闯入 VIP 部分。
  • 安全配置错误:当您的安全设置像拼图一样混淆时。
  • 跨站点请求伪造 (CSRF):当攻击者让您的站点做它不应该做的事情时。
  • 不安全的反序列化:当正在处理的数据全部混乱时。
  • 使用具有已知漏洞的组件:使用过时的部件时,就像把漏水的水桶带到派对上。
  • 网络基础知识:了解 IP 地址、DNS 和数据如何通过网络传输。这就像了解信件是如何到达您的邮箱的,但需要更多的技术性杂项。

第 2 步:熟悉交易工具

每个超级英雄都需要他们的小工具,对于漏洞赏金猎杀,您有一些很酷的工具:

  • Burp Suite:将其视为 HTTP 请求和响应的放大镜。它功能强大,如果您刚刚起步,它包含在社区版本中。查看 Burp Suite Community Edition 和 Burp Suite 初学者教程。
  • Nmap:扫描网络和发现开放端口的首选工具。它就像你寻找弱点的雷达。探索 Nmap 官方网站和 Nmap 初学者教程。
  • OWASP ZAP:一种开源安全扫描程序,可帮助您发现漏洞。这就像有一个不眠不休的伙伴。查看 OWASP ZAP 官方网站和 OWASP ZAP 用户指南。
  • Google Dorking:使用高级搜索运算符来挖掘互联网上暴露的信息。这就像使用一个超级强大的搜索引擎来寻找隐藏的宝石。阅读 Google Dorking 指南。

第 3 步:选择漏洞赏金平台

现在,您实际上在哪里寻找这些虫子呢?以下是一些可以开始使用的平台:

  • HackerOne:拥有来自大公司的项目的大联盟。查看 HackerOne 及其初学者指南。
  • Bugcrowd:另一个有各种程序可供探索的顶级平台。访问 Bugcrowd 和 Bugcrowd 大学。
  • Synack:一个具有申请流程的更独特的平台。如果您觉得花哨,请前往 Synack
  • Open Bug Bounty:即使您没有正式的计划,也专注于负责任的披露。查看 Open Bug Bounty

第 4 步:查找漏洞 — 分步示例

让我们戴上侦探的帽子,深入研究一些经典的漏洞:

示例 1:跨站点脚本 (XSS)

XSS 就像一个恶作剧者,将恶意脚本注入网页。以下是捕捉它们的方法:

  • 识别输入字段:查找可以键入内容的地方 - 搜索框、评论部分或个人资料。
  • Inject Test Script:删除一个简单的脚本,例如:
  • <script>alert('XSS')</script>
  • 进入 Input 字段并点击 Submit。
  • 检查执行:如果您看到弹出一个警报框,则您发现了 XSS 漏洞。恭喜!
  • 报告漏洞:在报告中描述您的发现 — 说明您是如何做到的、影响,并提供修复漏洞的建议。这就像写一份侦探报告。

示例:测试搜索字段

  • 在搜索框中输入<script>alert('Test')</script>
  • 如果出现警报框,则表示存在 XSS 漏洞。

示例 2:远程代码执行 (RCE)

RCE 是指黑客可以从远处在服务器上运行命令。以下是找到它的方法:

  • 查找用户输入:查找用户可以上传文件或输入命令的位置。
  • 测试文件上传:上传带有可执行代码扩展名的文件,如 或 .请尝试以下有效负载:.php.asp
  • <?php system($_GET['cmd']); ?>
  • 执行命令:通过 Web 访问上传的文件,并使用 URL 参数传递命令。例如:[http://example.com/uploads/yourfile.php?cmd=ls](http://example.com/uploads/yourfile.php?cmd=ls)
  • 观察输出:如果命令运行并且您看到输出,则服务器容易受到 RCE 的攻击。
  • 报告漏洞:详细说明您上传文件、执行命令的方式以及潜在影响。

示例:上传 PHP 文件

  • 上传名为 的内容 的文件。shell.php<?php phpinfo(); ?>
  • 通过以下方式访问它以查看它是否执行。http://example.com/uploads/shell.php

示例 3:服务器端请求伪造 (SSRF)

SSRF 是指攻击者诱骗服务器向内部资源发出请求。以下是嗅探它的方法:

  • 识别 URL 参数:查找接受 URL 或 IP 地址的参数。
  • 注入恶意 URL:使用指向内部资源的 URL 进行测试,例如:
  • http://localhost/admin [http://127.0.0.1](http://127.0.0.1/)
  • Observe Response:检查服务器是否从内部 URL 返回数据。
  • 报告漏洞:说明您如何注入 URL、您观察到的响应以及潜在影响。

示例:操作 URL 参数

  • 将参数更改为其他内部地址。http://example.com/fetch?url=http://localhost

示例 4:SQL 注入 (SQLi)

SQL 注入 (SQLi) 涉及将恶意 SQL 查询注入应用程序以操纵数据库。以下是测试 SQLi 的方法:

  1. 识别输入字段:查找可在其中输入与数据库交互的数据的字段,例如登录表单或搜索栏。
  2. Inject SQL Payload:使用 SQL 注入有效负载测试输入字段。例如:
  • ' OR '1'='1
  1. 观察响应:如果应用程序返回意外结果或数据库错误,则可能容易受到 SQLi 的攻击。
  2. Report the Vulnerability(报告漏洞):提供注入、响应和潜在影响的详细信息。

示例:测试登录表单:

  • 输入 username 和 password。如果它让您登录,则该站点容易受到攻击。admin' OR '1'='1

第 5 步:向社区学习

加入漏洞赏金社区可以提高您的技能和知识:

  1. 文章: 阅读经验丰富的猎人的文章可以深入了解不同的技术和方法。像 Hack The Box Write-Ups 这样的网站提供有价值的信息。
  2. 论坛和 Discord 频道:加入漏洞赏金猎人的论坛和 Discord 频道。这些平台非常适合提出问题和分享知识。
  • Bugcrowd 论坛
  • HackerOne 社区
  1. 博客和视频:关注网络安全博客和 YouTube 频道以获取更新和教程。

有关漏洞赏金狩猎的其他提示

  1. 了解范围:每个漏洞赏金计划都有一个定义的范围,用于指定哪些应用程序、域或功能在测试范围内。始终阅读并遵守程序的规则,以避免测试未经授权的区域。
  • HackerOne 范围策略

2. 保持更新:网络安全形势一直在发展。通过关注行业新闻和更新,了解最新的漏洞、工具和技术。

3. 合乎道德地实践:始终负责任地使用您的技能。尊重每个漏洞赏金计划的规则,避免对系统或用户造成伤害。

4. 记录所有内容:详细记录您的发现,包括重现漏洞的步骤、影响和任何缓解建议。这将帮助您编写更好的报告并与项目经理进行有效沟通。

5. 明智地使用自动化:虽然自动化工具可以帮助识别漏洞,但手动测试对于发现复杂问题至关重要。将自动化用作手动分析的补充,而不是替代品。

示例场景:漏洞赏金搜寻的实际应用

场景 1:在搜索页面上查找 XSS

分步示例

  1. 导航到 Search Page:打开目标应用程序的搜索页面。
  2. 测试输入字段:在搜索框中,输入 。<script>alert('XSS')</script>
  3. 提交并观察:单击搜索按钮并观察是否弹出警报框。
  4. 验证并报告:如果脚本执行,则表示存在 XSS 漏洞。编写一份报告,详细说明受影响的 URL、使用的有效负载和影响。

场景二:通过文件上传利用 RCE

分步示例

  1. 查找文件上传功能:查找允许文件上传的应用程序部分,例如头像或文档上传功能。
  2. 准备恶意文件:创建包含以下内容的 PHP 文件:
  • <?php system($_GET['cmd']); ?>
  1. Upload the File(上传文件):将 PHP 文件上传到服务器。
  2. 访问文件:通过 URL(例如 )访问文件以执行命令。http://example.com/uploads/malicious.php?cmd=ls
  3. 验证执行:如果您看到命令的输出,则服务器容易受到 RCE 的攻击。报告问题,并提供有关文件上传过程和执行的命令的详细信息。

场景 3:通过 URL 参数利用 SSRF

分步示例

  1. 查找 URL 参数:在应用程序中查找接受用户输入的 URL 参数,例如 URL 获取功能。
  2. Inject Internal URLs:在参数中输入 like 或 的 URL。http://localhost/adminhttp://127.0.0.1
  3. 检查响应:观察应用程序是否从内部 URL 或服务返回信息。
  4. 报告漏洞:记录 URL 参数、注入的负载和响应。

场景 4:登录表单中的 SQL 注入

分步示例

  1. 找到登录表单:在目标网站上找到登录表单。
  2. Inject SQL Payload(注入 SQL 负载):输入用户名和密码。admin' OR '1'='1
  3. 提交表单:单击登录,查看您是否获得了未经授权的访问权限。
  4. Document and Report:如果成功,则报告 SQL 注入以及有关有效负载及其效果的详细信息。

链接和资源

学习平台和教程

练习平台

漏洞赏金计划和平台

工具和资源

学习和社区

文档和报告

结论

漏洞赏金猎人就像一个有趣的寻宝游戏,用于查找 Web 上的安全漏洞。如果您遵守规则、做好笔记并明智地使用您的工具,这很令人兴奋,并且会非常有益。想象自己是一个拯救世界的超级英雄,但你得到的不是斗篷,而是键盘。保持您的冒险道德,像藏宝图一样记录您的发现,并将自动化作为您值得信赖的伙伴,而不是您唯一的工具。祝您狩猎愉快,愿您能找到像大海捞针一样难以捉摸的虫子!🚀💻🔍

进一步的学习和实践:

本文由作者按照 CC BY 4.0 进行授权