CodePath Web Security Guides
Welcome to the open-source CodePath web security guides! Our goal is to become the central crowdsourced resource for complete and up-to-date web security content and tutorials.
Motivation
Ever been frustrated finding information on outdated one-off blog posts and tutorials that has since become irrelevant? How many times were you googling only to find your answer only on a 2 year old StackOverflow post? We believe there’s got to be a better way. Why not have the community work together to create useful and detailed documentation for every aspect of web security (or any platform)? There’s absolutely no reason that we should have to make do with outdated, vague or un-editable content anymore.
Read about our mission to change the way engineers learn new technologies and we would love for you to get involved! In addition, we are an early-stage startup so if you like this guide and what we are trying to do, please consider following us on twitter @codepath!
Getting Started
Tools
PHP Fundamentals
- PHP: Data Types
- PHP: Conditionals
- PHP: Loops
- PHP: User-defined functions
- PHP: Code organization
- PHP: Encoding for URLs
- PHP: Encoding for HTML
- PHP: Redirecting Requests
- PHP: Cookies and Sessions
PHP Techniques
Fundamental Security Principles
- Never trust users
- Least privilege
- Simple is more secure
- Expect the unexpected
- Defense in depth
- Security through obscurity
- Prefer whitelisting over blacklisting
- Map data movement and exposure
Common Attacks and Preventions
- URL Manipulation
- Social Engineering
- Insecure Direct Object Reference
- Cross-Site Scripting (XSS)
- SQL Injection (SQLI)
- File Upload Abuse
- Remote Code Execution
- Footprinting, Enumeration, and Fingerprinting
- Faked Requests
- Clickjacking
- Cross-Site Request Forgery (CSRF)
- Cookie Theft and Manipulation
- Session Hijacking
- Session Fixation
- Username Enumeration
- Brute Force Attack
- Dictionary Attack
- Credential Theft
- Privilege Escalation
- Domain Hijacking
- DNS Hijacking
- Man in the Middle
- Denial of Service
- Drive-By Downloads
- Watering Hole Attack
- Ransomware
- DMA Attack
- Advanced Persistent Threats
Other Security Terms and Topics
- Zero-day Exploits
- Semantic Versioning
- Common Vulnerabilities and Exposures (CVE)
- HTTP Request Types (GET vs. POST)
- Content Security Policy
- Prepared Statements
- Encryption
- User Authentication
- Throttling
- SSL and TLS
- HTTPS and Certificates
- Forward Secrecy
- Domain Name System
- Firewalls
- Intrusion Detection System
- Risk Assessment
- Penetration Testing
- Threat Monitoring
- Incident Response