Bug Bounty Blueprint: A Beginner’s Guide
by MuhammadKhizerJaved
漏洞赏金狩猎简介
漏洞赏金狩猎是一个近年来获得巨大动力的鼓舞人心的领域。简单来说,漏洞赏金涉及奖励道德黑客识别和披露在参与者的Web、移动或系统应用程序中发现的潜在安全漏洞。既然你已经在这里,我假设你对漏洞赏金狩猎有基本的了解。因此,让我们深入了解基本要素,因为理解漏洞赏金狩猎和道德黑客真正涉及的内容非常重要。
漏洞赏金狩猎的挑战
对我来说,漏洞赏金狩猎在强度和需求上超越了传统的渗透测试,漏洞赏金狩猎就像是打了兴奋剂的渗透测试。由于以下因素,它更加困难:
- 重大漏洞:漏洞赏金计划通常关注具有真正业务影响的漏洞,为接受的漏洞类型设定了更高的门槛。
- 漏洞猎人之间的竞争:你将与数百名其他猎人竞争,只有第一个报告漏洞的人才能获得奖励。
- 新手的困难:作为新手,初始阶段可能很困难,涉及识别有效漏洞并努力成为第一个发现它们的人。
通过本指南,我将尝试涵盖以下关键领域,帮助你入门:
- 理解漏洞赏金狩猎的基础知识。
- 发展必要的技术技能。
- 学习常见漏洞和利用方法。
- 寻找和选择漏洞赏金计划。
- 编写有效的报告以最大化你的赏金潜力。
记住,成为成功的漏洞赏金猎人的旅程需要奉献、耐心和持续学习。让我们一起踏上这段激动人心的旅程!
关于我
我是Muhammad Khizer Javed,我是一名专注于Web和移动应用程序渗透测试的网络安全专业人士。我有超过六年的漏洞赏金猎人和道德黑客经验。我的重点在于使用各种渗透测试技术 uncovering vulnerabilities, weaknesses, and misconfigurations。我在SecurityWall担任首席渗透测试员。除了我的专业追求,我对网络安全的热情推动了我对社区内持续学习和知识分享的奉献。
黑客的态度
在进一步之前,理解成功漏洞赏金狩猎所需的态度至关重要。Eric S. Raymond的一篇开创性文章“How To Become A Hacker”是一个极好的起点。这篇文章概述了有抱负的黑客需要培养的基本态度,强调了能力的重要性,而不是仅仅摆姿势。
漏洞赏金有未来吗?
我确信漏洞赏金狩猎是保护许多企业的前进方向,原因如下:
- 始终监视:只要计划本身在运行,漏洞赏金计划就会持续进行。
- 来自各地的专家:漏洞赏金利用了来自世界各地人们的知识。
- 深入挖掘的奖励:黑客有真正的理由在漏洞赏金计划中查找和报告漏洞。
- 安全和刺激:这是一个安全和有趣的空间,可以摆弄和学习。
我相当确定漏洞赏金狩猎不会消失;它只会变得更好和更强。Web3的兴起已经在改变漏洞赏金的工作方式,打破障碍,请看下面。
不仅Web3,我们好的旧Web2赏金也变得有趣和庞大。
因此,无论是关于传统Web内容还是这个新的Web3世界,漏洞赏金狩猎对于那些愿意付出努力并脱颖而出的人来说是一个可靠的选择。
掌握基础知识!
在开始你的漏洞赏金之旅之前,必须建立对支撑网络安全世界的基础元素的扎实掌握。本节为你的探索奠定基础,确保你拥有必要的知识来 navigate the intricate web of networks, systems, and programming languages。
为了有效参与漏洞赏金狩猎和道德黑客,牢固掌握基本构建块至关重要。通过熟悉以下关键概念开始你的旅程:
理解网络、Web和通信基础
网络基础: 获得对网络原则的基本理解,对于任何深入研究计算机领域的人来说都是必不可少的知识。探索诸如以下资源:
- Networking Basics: What You Need to Know (CISCO)
- The Fundamentals of Networking (IBM)
- Basics of Computer Networking (Geeks for Geeks)
- Computer Networking Complete Course – Basic to Advanced (9 Hours YouTube Course)
- Fundamentals of computer networking (Microsoft)
Web: 对于Web的概述,你应该阅读以下任意两个。这些不仅会刷新你的Web基本基础,还会为你即将到来的内容做好准备。
- Web – Basic Concepts (Tutorials Point)
- Web Fundamentals (Google Developers)
- Web Basics and Overview (Kent State University)
通信协议: 为了学习某些东西,你必须学习它是如何工作的,以及数据如何在计算机内部或之间交换。在我们的案例中,应用程序如何工作以及它的流程是什么,我们需要学习它如何与你通信。为此,我相信你必须浏览以下列表以理解网络协议及其用途。
- Communication protocols (Wikipedia)
- Official Internet Protocol Standards (RFC Editor)
- MDN Web Docs Glossary: Definitions of Web-related terms (Mozilla)
- HTTP (Mozilla)
- HTTP Related Protocols (W3.org)
- Types of Network Protocols and Their Uses (W3 Schools)
数据库: 你必须学习数据库基础并理解它,因为这是你在许多情况下作为黑客攻击的关键部分之一。
- Basics Of DBMS (Toppr)
- Database basics (Oracle)
- Database Basics: Concepts & Examples for Beginners (Lido)
选择操作系统: 根据Eric Steven Raymond的说法,“任何新手获取黑客技能的最重要一步是获取Linux或BSD-Unix之一的副本,安装在个人机器上并运行它。尝试在Microsoft Windows机器或任何其他闭源系统下学习黑客就像试图穿着身体石膏学习跳舞。”
无论你选择哪个操作系统,确保通过以下备忘单熟悉基本命令:
- http://linuxcommand.org/
- https://helpdeskgeek.com/help-desk/21-cmd-commands-all-windows-users-should-know/
编码熟练度:精通之路
虽然成为熟练的程序员可能不是强制性的,但在漏洞赏金狩猎领域,对编程语言的扎实理解无疑是有益的。
我个人在漏洞赏金中遭受了两年之苦,因为在许多情况下我无法真正理解特定代码的含义,无法正确利用问题,甚至无法一般性地编码,我仍在尽力追赶速度,所以我建议你们不要跳过这些部分。通过以下语言加强你的编码技能:
HTML:
- HTML Tutorial (W3 Schools)
- Learn HTML (Code Academy)
PHP:
- PHP Tutorial (W3 Schools)
- Learn PHP (Code Academy)
JavaScript:
- Learn JavaScript – Full Course for Beginners (freecodecamp.org)
- Learn JavaScript (Code Academy)
- Build anything you want with JavaScript (learnjavascript.today)
SQL (Structured Query Language):
- SQL Tutorial – Full Database Course for Beginners (freeCodeCamp.org)
- SQL Tutorial (W3 Schools)
- Learn SQL (Code Academy)
Java:
- Learn Java (Code Academy)
- Java | How to start learning Java (Geeks for Geeks)
- Learn Java Online (learnjavaonline.org)
- Java Beginner Course – Get Started Coding with Java! (freeCodeCamp.org)
C/C++:
- C/C++ Full Course Playlist (freeCodeCamp.org)
- Learncpp (Learncpp.com)
- Learn C++ (Code Academy)
你从这些中学到的不仅仅是编程语言,还有Web和系统通信的正确方式,你将测试或构建这些。我也是编程的学生,分享我目前遵循的资源。
拥抱自动化
“永远不要派人去做机器的工作”
为了在漏洞赏金狩猎世界中真正脱颖而出,掌握自动化是必不可少的。自动化使你能够更快、更高效、持续地工作,同时减少重复性任务。
查看下面的幻灯片,并阅读一篇关于“Conference notes: Automation for Bug Hunters (Bug Bounty Talks)”的精彩文章。
通过以下语言加强你的自动化能力,如果你能掌握以下一种或多种语言,你可以轻松且非常愉快地自动化你的工作,并以更好的方式赚钱。
Python:
- Real Python Tutorials (Real Python)
- Hacking with Python – 7 Best online courses for ethical hacking (By AIMEE O’DRISCOLL)
- The Python Tutorial (Python.org)
Bash:
- 10 Best Linux Shell Scripting Tutorials for Beginners (Quick Code)
- Learn Shell (learnshell.org)
- Shell Scripting Tutorial (Tutorials Point)
Golang:
- Learn GO (go.dev)
- Learn Golang (Code Academy)
- Go Tutorial (Tutorials Point)
Ruby:
- Learn Ruby (Code Academy)
- Learn Ruby Online (learnrubyonline.org)
通过掌握这些基础组件,你将使自己能够编写工具,理解各种软件方面,并拥抱自动化世界。记住,这是你成长的基石——精炼你的技能,持续练习,并为你的漏洞赏金之旅奠定基础。
学习漏洞
这部分全是关于建立你的技能,学习如何识别弱点,并武装自己成为漏洞赏金猎人的工具。在漏洞赏金中选择正确的起点非常重要。你的选择应与你的兴趣和愿望一致。虽然有些人选择Web应用程序路径,因为它易于接近,但其他人可能深入移动领域。在这里,我将专注于Web和移动路径,反映我自己的专业领域。
Web应用程序安全路径
Web应用程序路径是一个流行的起点,因为它易于接近。首先理解Web应用程序的复杂性及其可能 harbored 的漏洞。诸如以下资源:
- OWASP Top Ten Project
- Web Application Security Basics (Mozilla)
- PortSwigger Web Security Academy
为你提供导航此领域所需的基础知识和见解。
移动应用程序安全路径
对于那些对移动领域感兴趣的人,移动路径 beckons。沉浸自己在移动应用程序安全的世界中, uncovering 潜在的漏洞。关键资源如:
- OWASP Mobile Security Project
- Android Security Documentation
- iOS Security Documentation
将作为你的 guiding beacons,引导你通过复杂的移动安全 landscape。
关键资源
以下平台应该是你学习安全的第一站:
- HackerOne Hacker101
- Bugcrowd University
- Intigriti Hackademy
这些平台提供丰富的资源和讲座,可以显著增强你的学习旅程。它们提供宝贵的见解,通常超过我在这里可能分享的内容。
探索Web应用程序安全:建立你的基础
在这个阶段,我们深入探索Web应用程序安全的激动人心的世界。
推荐书籍和指南:建立你的专业知识
为了加强你对Web应用程序渗透测试和安全的理解,深入研究以下基本资源:
- Mastering Modern Web Penetration Testing
- The Hacker’s Underground Handbook
- Web Hacking 101
- The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws
- The Tangled Web: A Guide to Securing Modern Web Applications
- OWASP Testing Project
这些资源提供对Web应用程序渗透测试和安全评估复杂性的全面见解。
拥抱OWASP
优先熟悉OWASP测试指南和OWASP Top 10漏洞。这些宝贵的参考提供指导