Bug Bounty Blueprint: A Beginner’s Guide
by MuhammadKhizerJaved
漏洞赏金狩猎入门指南 | Muhammad Khizer Javed | @KHIZER_JAVED47 更新日期:2023年8月17日
早在2019年,我撰写了本漏洞赏金狩猎指南的早期版本(镜像1)和(镜像2),旨在为有抱负的猎人提供坚实基础。反响非常积极,同时收到了大量新手的提问。虽然旧版指南效果良好,但漏洞赏金市场的不断发展带来了变化和创新,需要新的视角。鉴于这些转变以及漏洞赏金社区的持续热情,我决定更新本指南。借鉴过去的智慧和当前的见解,这个新版本旨在为那些踏入漏洞赏金狩猎世界的人提供更有价值的资源。
漏洞赏金狩猎简介
漏洞赏金狩猎是一个令人振奋的领域,近年来获得了巨大的发展势头。简单来说,漏洞赏金涉及奖励道德黑客发现并披露参与者Web、移动或系统应用程序中潜在的安全漏洞。既然您已经在这里,我假设您对漏洞赏金狩猎有基本了解。那么,让我们深入探讨基本要素,因为理解漏洞赏金狩猎和道德黑客的真正内涵非常重要。
漏洞赏金狩猎的挑战
对我来说,漏洞赏金狩猎在强度和需求上超越了传统的渗透测试,就像是打了兴奋剂的渗透测试。它更加困难,原因如下:
- 重大漏洞:漏洞赏金计划通常关注具有真正业务影响的漏洞,对接受的漏洞类型设定了更高标准。
- 漏洞猎人之间的竞争:您将与数百名其他猎人竞争,只有第一个报告漏洞的人才能获得奖励。
- 新手困难:作为新人,初始阶段可能很艰难,涉及识别有效漏洞并努力成为第一个发现它们的人。
通过本指南,我将尝试涵盖以下关键领域,帮助您入门:
- 理解漏洞赏金狩猎的基础知识
- 发展必要的技术技能
- 学习常见漏洞和利用方法
- 寻找和选择漏洞赏金计划
- 编写有效报告以最大化赏金潜力
请记住,成为成功的漏洞赏金猎人的旅程需要奉献、耐心和持续学习。让我们一起踏上这段激动人心的旅程!
关于我
我是Muhammad Khizer Javed,一名专注于Web和移动应用程序渗透测试的网络安全专业人士。我拥有六年多的漏洞赏金猎人和道德黑客经验。我的重点在于使用各种渗透测试技术发现漏洞、弱点和错误配置。我在SecurityWall担任首席渗透测试员。除了专业追求外,我对网络安全的热情推动我在社区内持续学习和知识分享。
黑客的态度
在继续之前,理解成功漏洞赏金狩猎所需的态度至关重要。Eric S. Raymond的开创性文章《如何成为黑客》是一个极好的起点。这篇文章概述了有抱负的黑客需要培养的基本态度,强调能力的重要性而非仅仅装腔作势。
漏洞赏金有未来吗?
我确信漏洞赏金狩猎是保护许多企业的前进方向,原因如下:
- 持续监控:只要计划本身在运行,漏洞赏金计划就会持续进行。
- 全球专家:漏洞赏金利用了来自世界各地人们的知识。
- 深度挖掘的奖励:黑客有真正的理由在漏洞赏金计划中发现和报告漏洞。
- 安全且刺激:这是一个安全有趣的空间,可以摆弄和学习。
我相当确定漏洞赏金狩猎不会消失;它只会变得更好、更强。Web3的崛起已经在改变漏洞赏金的运作方式,打破障碍,请看下文。
Whitehat satya0x于2月24日通过Immunefi报告了@wormholecrypto的关键漏洞。该漏洞很快被修补,没有用户资金受到影响,satya0x从Wormhole获得了1000万美元的支付,这是有记录以来最大的赏金支付。https://t.co/xKDGxfFLjA — Immunefi (@immunefi) 2022年5月20日
不仅是Web3,我们熟悉的Web2赏金也变得越来越有趣和庞大。
因此,无论是传统的Web内容还是新的Web3世界,漏洞赏金狩猎对于那些愿意付出努力并脱颖而出的人来说都是一个可靠的选择。
掌握基础知识!
在开始漏洞赏金之旅之前,必须牢固掌握支撑网络安全世界的基础要素。本节为您的探索奠定基础,确保您具备必要的知识来驾驭复杂的网络、系统和编程语言网络。
为了有效参与漏洞赏金狩猎和道德黑客,牢固掌握基本构建块至关重要。通过熟悉以下关键概念开始您的旅程:
理解网络、Web和通信基础
网络基础: 获得对网络原则的基本理解,这是任何涉足计算机领域的人的必备知识。探索以下资源:
- 网络基础:您需要知道的内容(CISCO)
- 网络基础(IBM)
- 计算机网络基础(Geeks for Geeks)
- 计算机网络完整课程 - 从基础到高级(9小时YouTube课程)
- 计算机网络基础(Microsoft)
Web: 对于Web的概述,您应该阅读以下任意两篇。这些不仅会刷新您的Web基础,还会为您未来的学习做好准备。
- Web - 基本概念(Tutorials Point)
- Web基础(Google Developers)
- Web基础和概述(Kent State University)
通信协议: 为了学习某物,您必须学习它如何工作以及数据如何在计算机内部或之间交换。在我们的案例中,应用程序如何工作以及其流程是什么,我们需要学习它如何与您通信。为此,我相信您必须通读以下列表以理解网络协议及其用途。
- 通信协议(Wikipedia)
- 官方互联网协议标准(RFC Editor)
- MDN Web文档术语表:Web相关术语定义(Mozilla)
- HTTP(Mozilla)
- HTTP相关协议(W3.org)
- 网络协议类型及其用途(W3 Schools)
数据库: 您必须学习数据库基础并理解它,因为这在许多情况下是您作为黑客将要攻击的关键部分之一。
- DBMS基础(Toppr)
- 数据库基础(Oracle)
- 数据库基础:初学者的概念和示例(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教程(W3 Schools)
- 学习HTML(Code Academy)
PHP:
- PHP教程(W3 Schools)
- 学习PHP(Code Academy)
JavaScript:
- 学习JavaScript - 初学者完整课程(freecodecamp.org)
- 学习JavaScript(Code Academy)
- 用JavaScript构建任何您想要的东西(learnjavascript.today)
SQL(结构化查询语言):
- SQL教程 - 初学者完整数据库课程(freeCodeCamp.org)
- SQL教程(W3 Schools)
- 学习SQL(Code Academy)
Java:
- 学习Java(Code Academy)
- Java | 如何开始学习Java(Geeks for Geeks)
- 在线学习Java(learnjavaonline.org)
- Java初学者课程 - 开始用Java编码!(freeCodeCamp.org)
C/C++:
- C/C++完整课程播放列表(freeCodeCamp.org)
- Learncpp(Learncpp.com)
- 学习C++(Code Academy)
您从这些中学到的不仅仅是编程语言,还有Web和系统通信的正确方式,您将要测试或构建这些。我也是编程的学生,分享我目前正在遵循的资源。
拥抱自动化
“永远不要派人去做机器的工作”
要在漏洞赏金狩猎世界中真正脱颖而出,掌握自动化至关重要。自动化使您能够更快、更高效、持续地工作,同时减少重复性任务。
查看下面的幻灯片并阅读关于“会议笔记:漏洞猎人的自动化(Bug Bounty Talks)”的精彩文章。
通过以下语言加强您的自动化能力,如果您能掌握以下一种或多种语言,您可以轻松且非常愉快地自动化您的工作并以更好的方式赚钱。
Python:
- Real Python教程(Real Python)
- 用Python黑客 - 道德黑客的7个最佳在线课程(By AIMEE O’DRISCOLL)
- Python教程(Python.org)
Bash:
- 10个最佳Linux Shell脚本教程(Quick Code)
- 学习Shell(learnshell.org)
- Shell脚本教程(Tutorials Point)
Golang:
- 学习GO(go.dev)
- 学习Golang(Code Academy)
- Go教程(Tutorials Point)
Ruby:
- 学习Ruby(Code Academy)
- 在线学习Ruby(learnrubyonline.org)
通过掌握这些基础组件,您将使自己能够编写工具,理解各种软件方面,并拥抱自动化世界。请记住,这是您成长的基石 - 精炼您的技能,持续练习,并为您的漏洞赏金之旅奠定基础。
学习漏洞
这部分全是关于建立您的技能,学习如何识别弱点,并武装自己成为漏洞赏金猎人的工具。在漏洞赏金中选择正确的开始路径非常重要。您的选择应与您的兴趣和愿望一致。虽然有些人选择Web应用程序路径因其易于接近的性质,但其他人可能深入移动领域。在这里,我将专注于Web和移动路径,反映我自己的专业领域。
Web应用程序安全路径
Web应用程序路径因其易于接近的性质而成为流行的起点。首先理解Web应用程序的复杂性及其可能隐藏的漏洞。以下资源:
- OWASP Top Ten项目
- Web应用程序安全基础(Mozilla)
- PortSwigger Web安全学院
为您提供导航此领域所需的基础知识和见解。
移动应用程序安全路径
对于那些对移动领域感兴趣的人,移动路径 beckons。沉浸于移动应用程序安全的世界, uncovering 潜在漏洞潜伏其中。关键资源如:
- OWASP移动安全项目
- Android安全文档
- iOS安全文档
将作为您的指导灯塔,引领您穿越复杂的移动安全 landscape。
关键资源
以下平台应该是您学习安全的第一站。
- HackerOne Hacker101
- Bugcrowd大学
- Intigriti Hackademy
这些平台提供丰富的资源和讲座,可以显著增强您的学习旅程。它们提供宝贵的见解, often surpassing what I might share here.
探索Web应用程序安全:建立您的基础
在这个阶段,我们深入探索Web应用程序安全的激动人心的世界。
推荐书籍和指南:建立您的专业知识
为了加强您对Web应用程序渗透测试和安全的理解,深入研究以下基本资源:
- 掌握现代Web渗透测试
- 黑客地下手册
- Web黑客101
- Web应用程序黑客手册:发现和利用安全漏洞
- 纠缠的Web:保护现代Web应用程序指南
- OWASP测试项目
这些资源提供对Web应用程序渗透测试和安全评估复杂性的全面见解。
拥抱OWASP:
优先熟悉OWASP测试指南和OWASP Top 10漏洞。这些宝贵的参考资料提供指导 and understanding:
- OWASP测试指南
- 2023年OWASP Top 10
- 2017年OWASP Top 10
这些资源为理解常见漏洞和安全实践提供了坚实的基础。
探索常见Web应用程序漏洞
这是您漏洞赏金旅程的关键阶段,我们学习您在狩猎漏洞时可能遇到的常见Web应用程序漏洞。在本节中,我的重点是为您提供有价值的资源,以有效理解和学习这些漏洞。
跨站请求伪造(CSRF)
跨站请求伪造是一种强大的攻击,利用Web应用程序对认证用户浏览器的信任。通过胁迫用户 unknowingly 执行他们不打算的操作,攻击者可以操纵应用程序的功能并造成严重破坏。
深入资源:
- Imperva:理解CSRF - 跨站请求伪造
- OWASP跨站请求伪造(CSRF)
- Netsparker博客:解密CSRF - 跨站请求伪造
揭示真实世界场景:
- CSRF账户接管 famebit by Hassan Khan
- 一键黑客PayPal账户(已修补)by Yasser Ali
- 添加到收藏CSRF by vijay kumar
- Facebookmarketingdevelopers.com:代理、CSRF困境和API乐趣 by phwd
- 如何黑客您的Beats账户?Apple漏洞赏金 by @aaditya_purani
- 奇怪CSRF漏洞的故事 by Sudhanshu Rajbhar
- Bumble使用CSRF完全账户接管 by Mahmoud G
- Uber CSRF账户接管 by Ron Chan
- Messenger.com CSRF显示您检查CSRF时的步骤 by Jack Whitton
跨站脚本(XSS)
跨站脚本,通常称为XSS,使恶意行为者能够将客户端脚本注入网页, potentially compromising 查看这些页面的其他用户的安全。这些脚本可以在受害者的浏览器中执行,导致未经授权的操作、数据盗窃或恶意软件传播。
深化知识的资源:
- OWASP跨站脚本(XSS)
- PortSwigger Web安全:跨站脚本
- 过量XSS:跨站脚本全面教程
实际示例和概念证明:
- AirBnb漏洞赏金:将Self-XSS转化为Good-XSS #2 by geekboy
- Uber Self XSS到Global XSS
- 如何通过摆弄Protobuf发现5000美元Google Maps XSS by Marin MoulinierFollow
- XSSI,客户端暴力破解
- postMessage XSS绕过
- 通过Cookie的Uber XSS by zhchbin
- 使用Marketo Forms XSS与postMessage frame-jumping和jQuery-JSONP窃取www.hackerone.com上的联系表单数据 by frans
- 由于第三方js中的不当正则表达式导致的Uber 7k XSS
- TinyMCE 2.4.0中的XSS by Jelmer de Hen
- 在IE11中传递未编码URL导致XSS
- Twitter XSS通过停止重定向和javascript方案 by Sergey Bobrov
- 多年前Google xss
- Yahoo Mail中的xss再次,价值10000美元 by Klikki Oy
- Google账户接管
- 上帝般XSS,登录,登出,登录 in Uber by Jack Whitton
- Facebook中的三个存储XSS by Nirgoldshlager
- 使用Braun剃须刀绕过XSS审计和WAF by Frans Rosen
- 通过PNG和古怪内容类型在Facebook上的XSS by Jack Whitton
- *.ebay.com中的存储XSS by Jack Whitton
- 复杂,最佳Google XSS报告 by Ramzes
- sms-be-vip.twitter.com中的棘手Html注入和可能XSS by secgeek
- Google控制台中的命令注入 by Venkat S
- 通过管理员账户妥协在Uber的developer.uber.com上的存储XSS by James Kettle (albinowax)
- Yahoo Mail存储XSS by Klikki Oy
- 滥用XSS过滤器:一个^导致XSS(CVE-2016-3212) by Masato Kinugawa
- Youtube XSS by fransrosen
- Google XSS子域名点击劫持
SQL注入
SQL注入是一种常见的攻击向量,使用恶意SQL代码进行后端数据库操纵以访问本不应显示的信息。
深化知识的资源: 为了全面掌握SQL注入,这些资源是您的首选:
- OWASP SQL注入
- PortSwigger Web安全:SQL注入
- W3Schools:SQL注入
真实生活场景:概念证明:
- SQL注入漏洞 nutanix by Muhammad Khizer Javed
- WordPress插件在drive.uber.com中的多个漏洞 by Abood Nour (syndr0me)
- GitHub企业SQL注入 by Orange
- WordPress插件Huge IT Video Gallery在Uber中的SQL注入 by glc
- sctrack.email.uber.com.cn上的SQL注入 by Orange Tsai
远程代码执行(RCE)
远程代码执行(RCE)是一种强大的技术,授予攻击者在受害者系统上执行自己的代码的能力。想象一下,如果恶意行为者获得对机器的控制,使他们能够随意操纵它,可能造成的破坏。
深化知识的资源: 为了真正理解和掌握RCE,这些参考文献将作为您的指南针:
- Netsparker:远程代码执行和评估
- Wikipedia:任意代码执行
实际示例和概念证明:
- 我们如何破坏PHP,黑客Pornhub并赚取20000美元 by Ruslan Habalov
- WordPress SOME漏洞在plupload.flash.swf中导致Automatic中的RCE by Cure53 (cure53)
- 只读用户可以在AirOS上执行任意shell命令 by 93c08539 (93c08539)
- 通过图像上传远程代码执行!by Raz0r (ru_raz0r)
- 在Oculus开发者门户上弹出shell by Bitquark
- 疯狂!PornHub RCE再次!!!如何黑客Pornhub为了乐趣和利润 - 10000美元 by 5haked
- PayPal Node.js代码注入(RCE)by Michael Stepankin
- eBay PHP参数注入导致RCE
- Yahoo收购RCE
- Hostinger中的命令注入漏洞 by @alberto__segura
- Imgur中通过命令行的RCE
- git.imgur.com中通过滥用过时软件的RCE by Orange Tsai
- 披露中的RCE
- 通过struct2 Yahoo服务器的远程代码执行
- Yahoo收购中的命令注入
- PayPal RCE
- JetBrains IDE中的50k RCE
- PayPal中的JDWP远程代码执行 by Milan A Solanki
- OpenID中的XXE:一个漏洞统治所有,或如何发现影响Facebook服务器的远程代码执行漏洞 by Reginaldo Silva
- 如何黑客Facebook,并发现某人的后门脚本 by Orange Tsai
- 如何链式利用GitHub企业上的4个漏洞,从SSRF执行链到RCE!by Orange Tsai
- uber.com可能通过Flask Jinja2模板注入的RCE by Orange Tsai
- Yahoo漏洞赏金 - *.login.yahoo.com远程代码执行 by Orange Tsai (中文)
- Google App Engine RCE by Ezequiel Pereira
- 利用ImageMagick在HackerOne上获得RCE by c666a323be94d57
- Trello漏洞赏金:使用ImageTragick访问