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的崛起已经在改变漏洞赏金的运作方式,打破障碍,请看下文。
不仅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安全学院
为您提供导航此领域所需的基础知识和见解。
移动应用安全路径
对于那些对移动领域感兴趣的人,移动路径在召唤。沉浸于移动应用安全世界,发现潜伏的潜在漏洞。关键资源如:
- OWASP移动安全项目
- Android安全文档
- iOS安全文档
将作为您的指导灯塔,引领您穿越复杂的移动安全景观。
关键资源
以下平台应该是您学习安全的第一站。
- HackerOne Hacker101
- Bugcrowd大学
- Intigriti Hackademy
这些平台提供丰富的资源和讲座,可以显著增强您的学习旅程。它们提供宝贵的见解,通常超过我在这里可能分享的内容。
探索Web应用安全:构建您的基础
在这个阶段,我们深入探索Web应用安全的激动人心世界。
推荐书籍和指南:构建您的专业知识
为了加强您对Web应用渗透测试和安全的理解,深入研究以下基本资源:
- 掌握现代Web渗透测试
- 黑客地下手册
- Web黑客101
- Web应用黑客手册:发现和利用安全漏洞
- 纠缠的Web:保护现代Web应用指南
- OWASP测试项目
这些资源提供对Web应用渗透测试和安全评估复杂性的全面见解。
拥抱OWASP
优先熟悉OWASP测试指南和OWASP Top 10漏洞。这些宝贵的参考提供指导和理解:
- OWASP测试指南
- 2023年OWASP Top 10
- 2017年OWASP Top 10
这些资源为理解常见漏洞和安全实践提供坚实基础。
探索常见Web应用漏洞
这是您漏洞赏金之旅的关键阶段,我们学习您在狩猎漏洞时可能遇到的常见Web应用漏洞。在本节中,我的重点是为您提供宝贵资源,以有效理解和学习这些漏洞。
跨站请求伪造(CSRF)
跨站请求伪造是一种强大的攻击,利用Web应用对认证用户浏览器的信任。通过胁迫用户无意中执行他们不打算的操作,攻击者可以操纵应用的功能并造成严重破坏。
深入资源:
- 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,使恶意行为者能够将客户端脚本注入网页,可能危害查看这些页面的其他用户的安全。这些脚本可以在受害者的浏览器中执行,导致未经授权的操作、数据盗窃或恶意软件传播。
深化知识的资源:
- OWASP跨站脚本(XSS)
- PortSwigger Web安全:跨站脚本
- 过量XSS:跨站脚本全面教程
实际示例和概念证明:
- AirBnb漏洞赏金:将Self-XSS转化为Good-XSS #2 by geekboy
- Uber Self XSS到Global XSS
- 如何通过摆弄Protobuf发现$5,000 Google Maps XSS by Marin MoulinierFollow
- XSSI, 客户端暴力破解
- postMessage XSS绕过
- 通过Cookie的Uber XSS by zhchbin
- 使用Marketo Forms XSS与postMessage帧跳转和jQuery-JSONP窃取www.hackerone.com上的联系表单数据 by frans
- 由于第三方js中不当正则导致的Uber 7k XSS
- TinyMCE 2.4.0中的XSS by Jelmer de Hen
- 在IE11中传递未编码URL导致XSS
- 通过停止重定向和javascript方案的Twitter XSS 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
- 通过管理员账户妥协在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注入
真实场景:概念证明:
- nutanix的SQL注入漏洞 by Muhammad Khizer Javed
- drive.uber.com中WordPress插件的多个漏洞 by Abood Nour (syndr0me)
- GitHub企业SQL注入 by Orange
- Uber中WordPress插件Huge IT视频库的SQL注入 by glc
- sctrack.email.uber.com.cn上的SQL注入 by Orange Tsai
远程代码执行(RCE)
远程代码执行(RCE)是一种强大的技术,授予攻击者在受害者系统上执行自己代码的能力。想象一下,如果恶意行为者获得对机器的控制,使他们能够随意操纵它,可能造成的潜在破坏。
深化知识的资源: 为了真正理解和掌握RCE,这些参考将作为您的指南针:
- Netsparker:远程代码执行和评估
- Wikipedia:任意代码执行
实际示例和概念证明:
- 如何破解PHP, 黑客Pornhub并赚取$20,000 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 – 10,000$ 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访问服务器文件 by Florian Courtial
- 40k fb RCE
- Yahoo Bleed 1
- Yahoo Bleed 2
- Microsoft Apache Solr RCE Velocity模板 By Muhammad Khizer Javed
不安全的直接对象引用(IDOR)
在IDOR中,应用程序根据用户提供的输入直接访问对象。由于此漏洞,攻击者可以绕过授权并直接访问系统中的资源。
指导之光:清晰参考 踏上理解和对抗IDOR的旅程,这些宝贵的参考:
- Bugcrowd:如何找到IDOR