Lesson 1: Secure SDLC (Software Development Life Cycle) & Code Review
1. What is Secure SDLC?
Secure SDLC = integrating security at every stage of software development.
Stages:
Why Secure SDLC matters:
2. Secure Coding Principles
Developers must:
3. Code Review
Developers review each other’s code to:
Tools used:
Lesson 2: OWASP Top 10
OWASP = Open Web Application Security Project
They publish the Top 10 most critical web application vulnerabilities.
Here are the major one’s developers must understand:
1. Broken Access Control
When a user can access data/functions they shouldn’t.
Example:
Changing URL:
/user/5 → /user/6
And you can view someone else’s data.
2. Cryptographic Failures
Weak or missing encryption.
Examples:
3. Injection
Attacker injects malicious input:
4. Insecure Design
Lack of security thinking during design phase.
Example:
Application allows unlimited login attempts.
5. Security Misconfiguration
Common mistakes:
6. Vulnerable & Outdated Components
Using old libraries or frameworks with known vulnerabilities.
7. Identification & Authentication Failures
Weak login and session management:
8. Software & Data Integrity Failures
Untrusted updates, CI/CD pipelines not secured.
9. Security Logging & Monitoring Failures
Lack of logs leads to:
10. Server-Side Request Forgery (SSRF)
Attacker tricks server into making requests internally.
Lesson 3: API Security
APIs (mobile apps, web apps, backend systems) are a major attack target.
1. Why APIs Are Vulnerable
2. Common API Weaknesses
Accessing other people’s data by modifying IDs:
GET /api/user/10 → change to → 11
API returns unnecessary sensitive data.
Example:
API returns full user info; frontend hides it with JavaScript.
No limits → attacker can:
Tokens not validated properly → attackers impersonate users.
Attackers inject code in API parameters.
3. API Security Best Practices
Lesson 4: Database Security
Databases store the most sensitive information: customer data, financial data, credentials, logs, etc. Protecting them is critical.
1. Common Database Threats
2. Best Practices
Give applications only the access they need.
Example:
An app should only SELECT data, not DROP tables.
Lesson 5: Common Web Application Vulnerabilities (Deep Explanation)
This lesson focuses on real attacks developers and IT teams encounter daily.
1. SQL Injection (Detailed)
Attacker injects SQL commands into input fields.
Example:
‘ OR ‘1’=’1
If input isn’t validated, attacker can:
Defense:
2. XSS (Cross-Site Scripting)
Attacker injects JavaScript into websites.
Types:
Impact:
Defense:
3. CSRF (Cross-Site Request Forgery)
User performs unwanted actions unknowingly.
Example:
User is logged into their bank → visits malicious page → auto-submits a request to transfer money.
Defense:
4. Directory Traversal
Attacker accesses files outside allowed directory:
../../../etc/passwd
Defense:
5. File Upload Vulnerabilities
Attackers upload:
Defense:
6. Broken Authentication
Includes:
Defense:
Module 6 Summary
Students now understand:
This module answers the question:
“How do we protect websites, APIs, apps, and databases from hackers?”