
Pendahuluan
NovaEnergy adalah tantangan CTF kategori Web dengan tingkat kesulitan easy dari Bug Bounty CTF Playground.
Berikut adalah deskripsi dari tantangan ini:
NovaEnergy is a internal web application used for file sharing system. This site can only be accessed by employee of NovaEnergy company. You’re tasked to hunt for any vulnerabilities that led to any breaches in their site.
📝 Related Bug Bounty Reports
Bug Report #1 - Bypass Email verification
Bug Report #2 - Bypass Email verification in Mozilla
Analisa Awal
Dari deskripsi tantangan, diketahui bahwa fokus utama adalah mem-bypass proses verifikasi email, kemungkinan melalui information disclosure di endpoint tertentu.
Sebagai seorang penetration tester, saya memulai dengan melakukan pemeriksaan cepat untuk memahami gambaran umum dari aplikasi target.
1. Melihat Aplikasi

Tersedia fitur Login dan Register.
2. Registrasi Akun
Saat mencoba mendaftar dengan email acak, aplikasi hanya menerima domain @novaenergy.com
.

Saya mendaftarkan akun dengan email [email protected]
, dan aplikasi meminta verifikasi email.

3. Login
Jika mencoba login sebelum email diverifikasi, aplikasi akan menampilkan pesan:
Inactive user

Enumerasi
1. Fuzzing File & Direktori
Karena halaman utama tidak banyak memberikan informasi, saya melakukan fuzzing menggunakan dirsearch:
dirsearch -u http://94.237.50.221:38309/

Ditemukan dokumentasi API menggunakan Swagger UI, yang menampilkan daftar endpoint yang tersedia pada aplikasi web ini.
http://94.237.50.221:38309/api/docs
2. Mempelajari Swagger UI
Setelah memeriksa setiap endpoint, saya menemukan hal menarik di:
POST /userDetails
Endpoint ini mengembalikan data user, termasuk token verifikasi (verifyToken
).

Eksploitasi Kerentanan
1. Mendapatkan Token Verifikasi
Saya mengirimkan request ke /userDetails
untuk akun [email protected]
. Hasilnya, saya memperoleh token:
342633e3-1249-479b-97d7-e75dcd2e732a

2. Verifikasi Email
Dengan token di atas, saya melakukan verifikasi email melalui endpoint:
POST /api/email-verify

Verifikasi berhasil, dan akun aktif. Saya pun berhasil login ke dalam aplikasi.
3. Mendapatkan Flag
Setelah login, saya menemukan file flag.txt
.

Isinya adalah flag:
HTB{g00d_j0b_r3g1str4ti0n_byp4s5_1156b7fe6817ba9774263ca604f1a15a}

Penutup
Itulah cara menyelesaikan tantangan NovaEnergy dari Bug Bounty CTF Playground.
Dari tantangan ini, kita belajar pentingnya memperhatikan setiap respons dari aplikasi. Information disclosure yang muncul bisa dimanfaatkan untuk eksploitasi lebih lanjut.
Semoga bermanfaat!