SQL Injection Lab
Pelajari bagaimana hacker menyerang database melalui input yang tidak aman, dan cara mencegahnya!
📖 Apa itu SQL Injection?
SQL Injection (SQLi) adalah teknik serangan di mana hacker menyisipkan kode SQL berbahaya melalui input pengguna (form login, search box, dll) untuk memanipulasi database.
Bayangkan website toko online punya form pencarian. Normalnya, kamu ketik "laptop" dan website mencarikan produk laptop. Tapi dengan SQL Injection, hacker bisa menyisipkan perintah SQL untuk melihat seluruh data di database, termasuk data rahasia!
Cara Kerja SQL Injection:
💀 Login Form — RENTAN SQL Injection
Coba login dengan payload SQL Injection! Hint: ' OR 1=1 #
💀 Pencarian Produk — RENTAN SQL Injection
Cari produk di toko! Hint: coba ' OR 1=1 # untuk melihat semua data termasuk yang tersembunyi!
📋 Payload SQL Injection untuk Dicoba:
🛡️ Login Form — AMAN dari SQL Injection
Coba masukkan payload yang sama: ' OR 1=1 # — kali ini tidak berhasil!
🛡️ Pencarian Produk — AMAN dari SQL Injection
Pencarian yang aman menggunakan prepared statement. Data tersembunyi tidak akan terekspos!
📊 Perbandingan Kode: Rentan vs Aman
💀 Kode RENTAN
🛡️ Kode AMAN
🔑 Cara Mencegah SQL Injection:
- ✅ Prepared Statements — Selalu gunakan parameterized queries
- ✅ Input Validation — Validasi dan filter semua input dari user
- ✅ Least Privilege — Berikan hak akses database seminimal mungkin
- ✅ ORM — Gunakan Object-Relational Mapping (Eloquent, Doctrine)
- ✅ WAF — Web Application Firewall untuk filter request berbahaya