Saya membuka website temank3.kemnaker.go.id dan mencari request apa saja yang masuk saat saya intercept dengan menggunakan tools Burpsuite. Saya penasaran dengan request URL yang terdapat di halaman cari data Perusahaan penerima sertifikat ESMK3

Berikut request yang saya dapatkan Ketika melakukan intercept

Selanjutnya dari hasil request tersebut saya kirim ke repeater, guna untuk melakukan edit & resend request Saya mencoba melakukan input single quote pada parameter nama_perusahaan, berikut respons yang saya dapatkan

Respons nya adalah 500 Internal Server Error, selanjutnya saya menambah string balance setelah single quote, untuk mengetahui apakah error atau normal Kembali respons nya

Responsnya adalah HTTP 200 OK, berarti dapat disimpulkan ini vulnerable terhadap SQL Injection.


Selanjutnya saya melakukan injeksi secara manual dengan exploit

' order by 2-- -

Untuk mengetahui dimana columnya berada, untuk kasus ini column berada di nomor 43 Respons di 43 yaitu 500 Internal Server Error

Selanjutnya saya melakukan union select sampai 43 dan melihat di angka berapa muncul dalam respons nya, gunanya untuk mencari jumlah data dari table lain

Terlihat respons nya yaitu menampilkan angka 13, 14 dan 11

Selanjutnya saya memasukkan query user(), database() dan version() Untuk mengetahui user, database dan version OS yang dipakai

Saya berhasil melihat data user & database nya. Sementara itu hasil scanning saya di Sqlmap mendapatkan 12 Database lainnya yang terdapat dalam web temank3.kemnaker.go.id

Dengan Command

sqlmap -u https://temank3.kemnaker.go.id/page/sertifikat_esmk3/ --data="nama_perusahaan=test&button_cari=" --level=3 --risk=3 --dbs

Solusi untuk menutup/memperbaiki kerentanan SQL Injection dapat menambahkan query mysql escape string, blacklist input karakter tertentu pada parameternya atau menggunakan WAF dan dilakukan masking pada di setiap parameternya.


Timeline Report

  • 14 Agustus 2023 mengirim ke email csirt@kemnaker.go.id
  • 03 Oktober 2023 = NO RESPONS