WILLMET
WILLMET adalah blog santai untuk belajar IT, coding, SEO, dan dunia digital. Semua dibahas ringan, cocok buat pemula yang mau mulai dari nol.

Mencari Bug pada Website Laravel

Cerita singkat tentang proses menemukan bug di proyek Laravel dan apa yang bisa dipelajari darinya.

Jadi ceritanya ini berawal dari anak magang di tempatku. Dosennya nyuruh dia cari judul skripsi, dan akhirnya dia milih topik tentang pentesting pada website kampus mereka sendiri.

Dia minta bantuanku buat ngulik sedikit, kira-kira framework-nya apa dan ada bug kecil yang bisa dijadiin bahan bahasan.


Debugging Error dan Information Gathering

Pertama aku pakai Wappalyzer buat cek stack-nya, dan boom — ternyata Laravel.

Biasanya kalau aku udah tahu itu Laravel, aku langsung ngecek tiga flow aja:

  1. Login (example.com/login)
  2. Register (example.com/register atau example.com/admin/register)
  3. Logout (example.com/logout)

Tiga hal sepele tapi kadang bisa ngasih banyak informasi.

Misalnya, kalau `APP_DEBUG` masih nyala (`true`), Laravel bakal nampilin pesan error lengkap, mulai dari path project sampai versi framework dan PHP.


Waktu itu, `login` normal, gak ada masalah. Tapi pas aku buka `logout`, muncul error debug lengkap sama path-nya:

/home/kampus/public_html/kampus.example.com/vendor/laravel/blablabla

Nah dari situ ketahuan struktur project-nya, bahkan bisa nebak environment-nya kayak gimana.


Kadang di register juga muncul error atau malah form pendaftaran aktif — yang lucunya, kadang developer lupa matiin pendaftaran buat admin. Bisa gawat kalau gak disadari sama mereka.


Bug .env pada Laravel dan Path Manipulation

Dulu (jaman Laravel 5-an), bug .env itu lumayan sering muncul. Sekarang udah jarang, apalagi di Laravel 8 ke atas. Di kasus ini, ternyata Laravel-nya udah versi 12.x.x, jadi gak ada .env yang bocor. Tapi tetep, aku masih penasaran nyari jalur aksesnya.


Biasanya aku nyari dulu full path dari hasil debug, terus aku coba manipulasi jalur domainnya. Misalnya:

/home/kampus/public_html/kampus.example.com/vendor/laravel/blablabla


Artinya si website kampus itu ada di dalam public_html. Nah, kalau domain utamanya example.com, kadang bisa dicoba ngarahin ke:

example.com/kampus.example.com/.env


Dan kalau konfigurasi server-nya salah, bisa aja .env nya kebuka.


Makanya solusi paling aman buat admin adalah jangan naro subdomain di dalam public_html, tapi di luar folder itu.

Contohnya: /home/kampus/kampus.example.com/

Dengan begitu, meskipun orang tau path lengkapnya, .env tetep gak bisa diakses lewat web.


Intinya sih gitu aja. Ini cuma write-up singkat dan ringan aja, sekadar catatan dari pengalaman bantuin anak magang. Debugging di Laravel itu gak cuma soal bug kode, tapi juga soal gimana konfigurasi server bisa jadi sumber masalah.

Posting Komentar