Hacker101
repository·master·Indexed 12 days ago
https://github.com/hacker0x01/hacker101A free web security class for programmers and security professionals to learn about web vulnerabilities and bug bounties. The curriculum includes learning tracks for web hacking, Android security testing, cryptography, and pentesting basics, as well as specialized training for Burp Suite and the Haptyc Python library.
What's inside Hacker101
- This session covers the fundamentals of source code review, focusing on both automated and manual approaches. It provides guidance on managing expectations through metrics, evaluating static analysis tools, understanding the limitations of automation, and optimizing the division of labor during a review process.
Overview of The Web In Depth session
masterThe 'Web In Depth' session provides a security-focused exploration of web technologies. It covers the fundamental mechanisms of how the web operates and the security implications associated with them.
Key topics covered include:
- HTTP basics: Understanding the core protocol of the web.
- Cookie security: How cookies are used and how they can be secured or exploited.
- HTML parsing: How browsers interpret HTML content.
- MIME sniffing: How browsers guess the content type of a resource.
- Encoding sniffing: How browsers determine character encoding.
- Same-Origin Policy (SOP): The fundamental security model governing cross-origin requests.
- CSRF (Cross-Site Request Forgery): Understanding and identifying request forgery vulnerabilities.
Overview of the Crypto Crash Course session
masterThe Crypto Crash Course is the first in a series of three sessions focused on practical cryptography. It covers fundamental cryptographic concepts required for security research and development, including XOR operations, encryption types, block cipher modes, and message authentication.Overview of the Haptyc library
masterHaptyc is a Python library and testing framework designed to extend the capabilities of Turbo Intruder. It aims to bring Turbo Intruder closer to feature parity with traditional Intruder by adding support for multiple user-defined positions, orchestrating complex attack styles (like battering ram and cluster bomb), and enabling the mutation of user-defined positions using modular Python code.
Key features include:
- Haptyc transform tags: A pseudo-markup system used within HTTP requests to define positions.
- Modular Transforms: Generic and portable mutation logic that can be reused across different HTTP requests, reducing the need for request-specific 'spaghetti code'.
- Accessibility: Provides ready-to-use examples for beginners while allowing advanced users to develop sophisticated, custom fuzzers.
Overview of the Hacker101 Introduction Session
masterThe Introduction session provides a foundational overview of the hacker mindset and the practical application of security testing. It covers the transition from learning theoretical concepts to applying them in real-world scenarios.
Key topics covered include:
- Required tools for security testing
- The 'breaker' mindset (attacker perspective)
- Understanding the attacker-defender imbalance
- Performing lightweight threat assessment and prioritization
- Best practices for writing high-quality bug reports
- Introduction to Reflected XSS (Cross-Site Scripting)
Topics covered in Common Android Bugs (Part 2)
masterThis session focuses on identifying and exploiting the following vulnerability classes in Android applications:
- Path traversal: Exploiting improper input validation to access files or directories outside the intended scope.
- Embedded secrets: Locating sensitive information (API keys, credentials, etc.) hardcoded within the application binary or assets.
- OAuth issues: Identifying common implementation flaws in OAuth flows within mobile environments.
Learn about Directory Traversal, Command Injection, and SQL Injection
masterThis session covers three critical vulnerability classes:
- Directory Traversal: Understanding how attackers access files outside the intended web root, how to exploit these paths, and how to implement mitigations.
- Command Injection: Learning how untrusted input can execute arbitrary commands on the host operating system, including real-world scenarios and exploitation techniques.
- SQL Injection (SQLi): Exploring how attackers manipulate database queries, including basic exploitation, Blind SQLi (and its different types), and mitigation strategies.
Understand XML External Entity (XXE) attacks
masterThis session covers the fundamentals of XML External Entity (XXE) vulnerabilities. You will learn how XML entity definitions function and how attackers exploit these definitions to perform XXE attacks. The session also explores the real-world impact and consequences of these security bugs.Learn Cookie Tampering Techniques
masterThis session covers fundamental techniques for identifying and exploiting vulnerabilities related to cookie management. You will learn how to:
- Manipulate cookies in the browser: Using browser developer tools to modify cookie values directly.
- Manipulate cookies in requests: Intercepting and modifying cookies within HTTP requests using proxy tools.
- Check for cookie flags: Inspecting cookies for security attributes like
HttpOnly,Secure, andSameSiteto assess risk. - Identify common data encodings: Recognizing how cookie data is encoded (e.g., Base64, URL encoding) to facilitate tampering.
- Perform manipulations: Executing specific changes to cookie values to bypass authentication or escalate privileges.
Learn about practical cryptography attacks in the Crypto Attacks session
masterThe Crypto Attacks session is part of a 3-part series on practical cryptography. This session focuses on identifying and exploiting vulnerabilities in real-world cryptosystems.
Key topics covered include:
- Stream cipher key reuse: Exploiting instances where the same key/nonce is used multiple times in a stream cipher.
- ECB block reordering: Manipulating ciphertext blocks in Electronic Codebook (ECB) mode to change the meaning of the decrypted message without knowing the key.
- ECB decryption: Techniques for decrypting data encrypted with ECB mode, often by exploiting patterns in the ciphertext.
- Padding and padding oracles: Using side-channel information from error messages or timing to decrypt ciphertext via padding oracle attacks.
- Hash length extension: Exploiting certain hash functions (like MD5, SHA-1, or SHA-2) to append data to a message and compute a valid hash without knowing the original secret prefix.
Learn about Cross-Site Scripting (XSS) and Authorization
masterThis session covers the fundamentals of Cross-Site Scripting (XSS) and Authorization vulnerabilities.
XSS Topics:
- Types of XSS: Stored, Reflected, and DOM-based XSS.
- Security Lifecycle: Techniques for detection, exploitation, and mitigation of XSS vulnerabilities.
Authorization Topics:
- Vulnerability Patterns: Authorization bypasses and forced browsing.
- Security Lifecycle: Techniques for detection, exploitation, and mitigation of authorization failures.
Burp Suite training curriculum overview
masterThe Burp Suite training is structured into three progressive levels:
- Burp 101 - Getting Started: Covers basic setup and fundamental proxy usage.
- Burp 201 - Maximizing Burp: Focuses on optimizing your workflow and using more advanced features.
- Burp 301 - Burp Hacks for Bounty Hunters: Covers advanced techniques and specialized hacks for bug bounty hunting.