Best roadmap to learn Bug Hunting
What is a bug?
A security bug or vulnerability is “a weakness in the computational logic (e.g., code) found in software and hardware components that, when exploited, results in a negative impact to confidentiality, integrity, OR availability.”
- A bug is like a mistake in computer stuff, like when you’re making a game or an app, and something doesn’t work the way it’s supposed to.
- It can make things crash, mess up information, or show wrong results. Bugs need to be found and fixed so that everything runs smoothly.
What is Bug Bounty?
A bug bounty or bug bounty program is IT jargon for a reward or bounty program given for finding and reporting a bug (bug hunting) in a particular software product.
Many IT companies offer bug bounties to drive product improvement and get more interaction from end users or clients. Hackers or bug hunters performs bug hunting on the websites of these companies.
Companies that operate bug bounty programs may get hundreds of bug reports, including security bugs and security vulnerabilities, and many who report those bugs stand to receive awards.
- Imagine you’re playing detective, but instead of looking for clues in a mystery, you’re searching for problems in computer stuff, like apps and websites.
- A bug bounty is like a reward program where companies ask people like you to help find these problems, which we call bugs.
- If you discover a bug and tell the company about it, they might give you a prize, like money or gifts, as a way to say thanks for helping them make their computer stuff better and safer.
- It’s a bit like being a computer detective and getting a reward for finding hidden glitches!
What is the Reward?
There are all types of rewards based on the severity of the issue and the cost to fix. They may range from real money (most prevalent) to premium subscriptions (Prime/Netflix), discount coupons (for e commerce of shopping sites), gift vouchers, swags (apparels, badges, customized stationery, etc.). Money may range from 50$ to 50,000$ and even more.
- A reward is like a special treat or gift that you get when you find and report a problem with computer stuff, like apps or websites.
- It’s like a way for the people who made the computer stuff to say “thank you” for helping them find and fix the problem.
- So, when you discover a bug and let them know about it, they might give you something nice as a way to show their appreciation for your help. It’s a bit like getting a little present for being a computer detective!
Starting a bug hunt can be an exciting journey, but it’s important to approach it with a strategic mindset. Here’s a step-by-step guide to help you begin your bug-hunting journey:
Learn the Basics:
Start by gaining a solid understanding of software development concepts, programming languages, and web technologies. This foundational knowledge will help you identify vulnerabilities more effectively.
Computer Literacy: Ensure you have a basic understanding of operating systems, file management, and general computer usage. This foundational knowledge will make it easier to grasp more advanced concepts.
- Networking Fundamentals: Learn about IP addresses, ports, protocols, DNS, HTTP, HTTPS, and other networking basics. This knowledge is crucial for understanding how information flows on the internet.
- Programming and Scripting: Familiarize yourself with programming languages commonly used in web development, such as HTML, CSS, JavaScript, and Python. You don’t need to be an expert, but understanding code will be essential.
- Web Technologies: Study how web applications work, including client-server architecture, front-end and back-end components, APIs, and databases.
- Cybersecurity Basics: Learn about different types of cyber threats, attack vectors, and common vulnerabilities. Start with concepts like confidentiality, integrity, and availability (CIA triad).
- Online Resources: Utilize online platforms, tutorials, and courses to learn the basics. Some recommended platforms include:
- Cybrary offers free cybersecurity courses and tutorials.
- Coursera offers various cybersecurity-related courses.
- edX provides cybersecurity courses from top universities.
- Khan Academy offers introductory programming and computer science courses.
- Books and Blogs: Explore introductory books and blogs on cybersecurity and bug hunting. Some recommended titles include:
- “Web Application Hacker’s Handbook” by Dafydd Stuttard and Marcus Pinto
- “Hacking: The Art of Exploitation” by Jon Erickson
- Books and Blogs: Explore introductory books and blogs on cybersecurity and bug hunting. Some recommended titles include:
Follow the blogs and websites of reputable security researchers and organizations.
- YouTube and Video Tutorials: Search for video tutorials and educational channels that cover cybersecurity and bug hunting topics. Channels like “HackerSploit”, “Ethical Empire”, “Bitten Tech”, “Network Chuck”, and “The Cyber Mentor” offer valuable content.
- InsiderPhd – https://www.youtube.com/@InsiderPhD
- LiveOverflow – https://www.youtube.com/@LiveOverflow
- NahamSec – https://www.youtube.com/@NahamSec
- PwnFunction – https://www.youtube.com/@PwnFunction
- Ethical Empire – https://www.youtube.com/@EthicalEmpire0620
- John Hammond – https://www.youtube.com/@_JohnHammond
- Bitten Tech – https://www.youtube.com/@BittenTech
- Anonymous World – https://www.youtube.com/@AnonymousWorld95
- Farah Hawa – https://www.youtube.com/@FarahHawa
- Ippsec – https://www.youtube.com/@ippsec
- YouTube and Video Tutorials: Search for video tutorials and educational channels that cover cybersecurity and bug hunting topics. Channels like “HackerSploit”, “Ethical Empire”, “Bitten Tech”, “Network Chuck”, and “The Cyber Mentor” offer valuable content.
- Practice Platforms: Engage with platforms designed for hands-on practice, such as:
- TryHackMe offers virtual rooms to learn and practice cybersecurity skills.
- Hack The Box provides challenges and virtual labs for learning ethical hacking.
- Capture The Flag (CTF) Challenges: Participate in CTF challenges to solve real-world problems and learn from practical scenarios. CTFs enhance your problem-solving skills and expose you to various vulnerabilities.
- Practice Platforms: Engage with platforms designed for hands-on practice, such as:
Hands-On Practice:
Start by setting up a lab environment on your computer using virtualization software like VirtualBox or VMware. Practice deploying web applications, configuring servers, and testing security vulnerabilities.
Learn About Bug Types and Vulnerabilities:
Familiarize yourself with common types of bugs and vulnerabilities, such as Cross-Site Scripting (XSS), SQL injection, Cross-Site Request Forgery (CSRF), and more. Online resources, tutorials, and courses can help you grasp these concepts.
Choose Your Focus:
Decide whether you want to focus on web applications, mobile apps, network security, or a specific technology stack. This will help you tailor your learning and bug-hunting efforts.
Setup Your Environment:
- Install essential tools like web browsers, text editors, and virtual machines.
- Explore browser extensions designed for bug hunters, such as Burp Suite, OWASP Zap, and Chrome DevTools.
- Set up a controlled testing environment, such as a local server or virtual machine, to safely test applications.
Learn About Bug Bounty Platforms:
- Research bug bounty platforms like HackerOne, Bugcrowd, and Synack.
- These platforms connect bug hunters with companies offering rewards for identifying vulnerabilities.
Practice on Safe Targets:
Start with platforms that offer “safe” applications for practicing bug hunting.
Websites like “Hacker101” by HackerOne and “PortSwigger Web Security Academy” provide simulated environments to learn and practice.
Study Bug Reports:
Review publicly disclosed bug reports on platforms like HackerOne and Bugcrowd.
Analyze the vulnerabilities, the way they were reported, and the bounty rewards.
This can provide insights into effective bug reporting.
Read and follow the Bug Bounty Program Guidelines:
If you decide to participate in a bug bounty program, thoroughly read the program’s guidelines and rules. Each program may have specific targets, technologies, and vulnerabilities it’s interested in.
Practice Responsible Disclosure:
Always report vulnerabilities ethically. Avoid any malicious activities or unauthorized access to systems. Follow the reporting guidelines of the program or organization you’re targeting.
Start Hunting:
Begin with simpler vulnerabilities like XSS or CSRF. These will help you build confidence and experience.
- Use Burp Suite or similar tools to intercept and manipulate web traffic for testing.
- Explore different parts of the application: input fields, URLs, headers, cookies, etc.
- Be creative in your testing: try different inputs, combinations, and scenarios to uncover potential vulnerabilities.
Document and Report:
Document each step you take during testing, including the URLs, payloads, and responses.
When you find a vulnerability, create a detailed report with steps to reproduce it, screenshots, and the potential impact.
Learn from Rejections:
Don’t be discouraged by initial rejections. Often, reports need refinement. Learn from the feedback provided by program managers and developers.
Join Bug Hunting Communities:
Participate in bug-hunting forums, communities, and social media groups. Interacting with experienced hunters can provide valuable insights and guidance.
Continuous Learning:
Bug hunting is an ongoing process. Stay updated on the latest security trends, tools, and techniques through blogs, tutorials, and online courses.
Remember that bug hunting takes time and dedication. It’s normal to encounter challenges along the way, but persistence and a desire to learn will contribute to your success.
Basic Concepts to Learn-
Technical
Computer Fundamentals
- https://www.comptia.org/training/by-certification/a
- https://www.youtube.com/watch?v=tIfRDPekybU
- https://www.tutorialspoint.com/computer_fundamentals/index.htm
- https://onlinecourses.swayam2.ac.in/cec19_cs06/preview
- https://www.udemy.com/course/complete-computer-basics-course/
- https://www.coursera.org/courses?query=computer%20fundamentals
Computer Networking
- https://www.youtube.com/watch?v=0AcpUwnc12E&list=PLkW9FMxqUvyZaSQNQslneeODER3bJCb2K
- https://www.youtube.com/watch?v=qiQR5rTSshw
- https://www.udacity.com/course/computer-networking–ud436
- https://www.coursera.org/professional-certificates/google-it-support
- https://www.udemy.com/course/introduction-to-computer-networks/
Operating Systems
- https://www.youtube.com/watch?v=z2r-p7xc7c4
- https://www.youtube.com/watch?v=_tCY-c-sPZc
- https://www.coursera.org/learn/os-power-user
- https://www.udacity.com/course/introduction-to-operating-systems–ud923
- https://www.udemy.com/course/linux-command-line-volume1/
- https://www.youtube.com/watch?v=v_1zB2WNN14
Command Line
Windows:
Linux:
Programming
C
Python
JavaScript
PHP
Source –
Books
- Web Application Hacker’s Handbook: https://www.amazon.com/Web-Application-Hackers-Handbook-Exploiting/dp/1118026470
- Real World Bug Hunting: https://www.amazon.in/Real-World-Bug-Hunting-Field-Hacking-ebook/dp/B072SQZ2LG
- Bug Bounty Hunting Essentials: https://www.amazon.in/Bug-Bounty-Hunting-Essentials-Quick-paced-ebook/dp/B079RM344H
- Bug Bounty Bootcamp: https://www.amazon.in/Bug-Bounty-Bootcamp-Reporting-Vulnerabilities-ebook/dp/B08YK368Y3
- Hands on Bug Hunting: https://www.amazon.in/Hands-Bug-Hunting-Penetration-Testers-ebook/dp/B07DTF2VL6
- Hacker’s Playbook 3: https://www.amazon.in/Hacker-Playbook-Practical-Penetration-Testing/dp/1980901759
- OWASP Testing Guide: https://www.owasp.org/index.php/OWASP_Testing_Project
- Web Hacking 101: https://www.pdfdrive.com/web-hacking-101-e26570613.html
- OWASP Mobile Testing Guide: https://www.owasp.org/index.php/OWASP_Mobile_Security_Testing_Guide
Writeups
- Medium: https://medium.com/analytics-vidhya/a-beginners-guide-to-cyber-security-3d0f7891c93a
- Infosec Writeups:
- https://infosecwriteups.com/?gi=3149891cc73d
- Hackerone Hacktivity:
- https://hackerone.com/hacktivity
- Google VRP Writeups: https://github.com/xdavidhu/awesome-google-vrp-writeups
Blogs and Articles
- Hacking Articles: https://www.hackingarticles.in/
- Vickie Li Blogs: https://vickieli.dev/
- Bugcrowd Blogs: https://www.bugcrowd.com/blog/
- Intigriti Blogs: https://blog.intigriti.com/
- Portswigger Blogs: https://portswigger.net/blog
Forums
Official Websites
- OWASP: https://owasp.org/
- PortSwigger: https://portswigger.net/
- Cloudflare: https://www.cloudflare.com/
CTF
- Hacker 101: https://www.hackerone.com/hackers/hacker101
- PicoCTF: https://picoctf.org/
- TryHackMe: https://tryhackme.com/ (premium/free)
- HackTheBox: https://www.hackthebox.com/ (premium)
- VulnHub: https://www.vulnhub.com/
- HackThisSite: https://hackthissite.org/
- CTF Challenge: https://ctfchallenge.co.uk/
- PentesterLab: https://pentesterlab.com/referral/olaL4k8btE8wqA (premium)
Online Labs
- PortSwigger Web Security Academy: https://portswigger.net/web-security
- OWASP Juice Shop: https://owasp.org/www-project-juice-shop/
- XSSGame: https://xss-game.appspot.com/
- BugBountyHunter: https://www.bugbountyhunter.com/ (premium)
- W3Challs : https://w3challs.com
Offline Labs
- DVWA: https://dvwa.co.uk/
- bWAPP: http://www.itsecgames.com/
- Metasploitable2: https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
- BugBountyHunter: https://www.bugbountyhunter.com/ (premium)
- W3Challs : https://w3challs.com/
Bug Bounty Platforms-
Crowdsourcing
- Bugcrowd: https://www.bugcrowd.com/
- Hackerone: https://www.hackerone.com/
- Intigriti: https://www.intigriti.com/
- YesWeHack: https://www.yeswehack.com/
- OpenBugBounty: https://www.openbugbounty.org/