Halo, teman-teman mahasiswa! Selamat datang di praktikum seru tentang Brute Force Attack β serangan klasik yang kayak "coba-coba semua kunci sampai pintu kebuka"! Hacker pakai script otomatis buat tebak password ribuan kali per detik di form login. Kalau password lemah (misal "123456"), akun langsung jebol. Tapi tenang, kita punya senjata ampuh: Rate Limiting β kayak satpam yang bilang "Cukup! Tunggu dulu kalau terlalu sering salah!"
Ini vulnerability umum banget di login, API, atau form sensitif. Yuk kita pelajari bareng, santai tapi powerful, dengan contoh gampang di Laravel!
Ilustrasi hacker lagi brute force ini nunjukin ribuan percobaan password β capek banget kalau manual! π
Gambar robot AI cracking password ini mind-blowing β brute force modern pakai AI!
Apa Itu Brute Force Attack? π€π
Brute force adalah serangan "kasar" yang coba semua kombinasi password sampai benar.
Jenisnya:
- Pure Brute Force: Coba semua karakter (aaaa, aaab, ... zzzz) β lambat banget!
- Dictionary Attack: Pakai daftar kata umum (password123, admin, dll) β cepat kalau password lemah.
Visual dictionary attack ini jelas banget: Hacker pakai list kata umum buat tebak cepat!
Tabel password cracking time 2025 ini serem β password pendek jebol dalam detik!
Contoh 1: Brute Force Login Sederhana
Kode login rentan (tanpa limit):
if ($request->password === $user->password) {
// Login sukses
}
Hacker pakai tool seperti Hydra atau script Python:
for password in dictionary:
post('/login', {'email': 'victim@email.com', 'password': password})
Kalau dictionary punya 10.000 kata, coba semua dalam detik!
Contoh 2: Credential Stuffing
Pakai username:password bocoran dari breach lain (misal dari LinkedIn hack).
Contoh 3: API Endpoint Tanpa Limit
Hacker flood request ke /api/login β server down (DoS bonus).
Rate Limiting: Si Penjaga Pintu! π‘οΈβ±οΈ
Rate limiting batasi berapa kali request dari satu IP/user dalam waktu tertentu.
Contoh: Maksimal 5 attempt login per menit per IP.
Diagram sliding window rate limiting ini keren β batas request bergeser waktu!
Ilustrasi API rate limiting ini nunjukin barrier yang blokir flood request!
Cara Implementasi di Laravel (Super Gampang!)
Laravel punya Throttle Middleware built-in!
Di Route:
Route::post('/login', [LoginController::class, 'login'])
->middleware('throttle:5,1'); // 5 attempt per 1 menit
Atau custom:
->middleware('throttle:60,1'); // 60 request per menit (buat API)
Kalau exceed: "Too Many Attempts" otomatis!
Contoh Laravel throttle message ini persis yang muncul kalau kebanyakan attempt!
Bonus: Kombinasi dengan Pencegahan Lain
- Hash password kuat (bcrypt/argon2).
- CAPTCHA setelah 3 gagal.
- Account lockout sementara.
- Monitor login failed.
Latihan Seru Buat Kamu! πͺπ₯
- Buat login rentan, brute force pakai script sederhana (curl loop).
- Tambahin throttle middleware, test lagi (harusnya blokir!).
- Custom rate limit beda buat login vs API.
- Coba di labs seperti PortSwigger Brute Force.
Selamat praktikum, guys! Brute Force ini serangan "bodoh tapi efektif" kalau nggak dicegah, tapi dengan Rate Limiting Laravel, akun kamu aman kayak brankas bank π°π Jadi developer yang anti-brute dari awal! Ingat: Batasi attempt, selamatkan password! Keep coding safely and have fun! ππ«







Top comments (0)