IT Security Enthusiast • Bug Hunter • Penetration Tester

SQL Injection hingga mencuri data KTP

S

Description

Mudah nya memahami SQL Injection itu begini, seperti yang saya kutip dari web dibawah ini (gue lagi malas berargumen :v).

SQL Injection adalah teknik yang menyalahgunakan celah keamanan yang ada pada lapisan database sebuah aplikasi. Celah ini terjadi ketika input dari pengguna tidak disaring (filter) secara benar, contohnya adalah kolom username yang seharusnya hanya diisi dengan huruf atau angka tapi malah diisi dengan karakter lain seperti – (minus), = (sama dengan), atau ’ (petik satu) sehingga penyerang menggunakan celah tersebut dengan cara memasukan query dari SQL.

https://www.i-3.co.id/2016/12/28/cara-mudah-untuk-mengerti-sql-injection/

Pada kasus ini, saya tidak menjelaskan secara rinci bagaimana SQLi bisa terjadi, yah karna ini adalah celah yang sangat umum dan sudah banyak sekali tulisan-tulisan perihal ini.

Yang akan saya tulis adalah “dampak apalagi sih yang bisa terjadi kalo kita sudah dapet sebuah isi database hasil dari celah SQLi?” Nah dalam salah satu contohnya disini saya berhasil mendapatkan foto-foto hasil scan yang di upload pada website target.

Sekilas rician tentang website target yang saya temukan (sebenernya temen saya yang dapet celah ini lalu saya tes dan perdalami sadja h3h3) adalah sebuah website yang biasa meminjamkan uang kepada usernya dengan ketentuan user harus mengupload data pribadinya seperti ktp, swafoto (foto selfie), dan lain-lain. Oke deh langsung sadja!

Affected Endpoint

  • https://[redacted]/login/auth

Steps to Reproduce

  • Oke, ceritanya celah ini ada pada form login website target. Dan masalah lainnya adalah tidak adanya limit apabila user gagal melakukan login, jadinya yowes bruteforce pun sangat mungkin terjadi dan tool yang saya gunakan adalah umum yaitu sqlmap.
  • Pertama saya intercept terlebih dahulu request yang saya lakukan ketika melakukan login.
Hasil intercept request login
  • Request tersebut saya copy lalu paste kedalam bentuk teks biasa dengan ekstensi .txt sehingga scan akan saya lakukan dengan cara:
sqlmap -r link.txt --random-agent --dbms=mysql --risk 2 --threads=10
  • Oke, singkat cerita didapatlah database dengan jumlah 6 database (beberapa database ga penting-penting amat)
Celah SQLi terdeteksi dan melihat list nama database
  • Lalu setelah di korek-korek isi database nya terdapatlah temuan isi table yang berisi data dari seluruh user yang terdaftar, nah selain hal-hal umum seperti username, password, email, dan lain-lain disini terdapat kolom img_ktp yang berisi gambar KTP hasil upload dari user (beberapa ada yang tidak/belum melakukan upload).
  • Saya dump tabel tersebut dan sedikit merapihkan data ke excel (karna hasil berupa file .csv) sehingga kolom akan terlihat berikut:
  • Nah usut punya usut lagi setelah saya memahami tentang dimana gambar KTP disimpan dalam website target, ternyata url lengkap akan terlihat seperti berikut:
https://[redacted]/upload/img_ktp/[id_gambar_yang_ada_di_database].jpg
  • Lalu saya coba akses dengan salah satu id gambar yang berhasil saya dapatkan dari hasil dumping sebelumnya maka gambar berhasil terlihat.
Data KTP user lain
  • Sampai sini bagaimana kalau attacker ingin mengambil semua data KTP yang ada pada website target? Yah bisa diakali dengan membuat script automasi misal seperti looping dengan curl atau menggunakan library dari python seperti requests atau urlib2 dan banyak lagi.

Miscellaneous

Dengan adanya kasus seperti ini artinya sangatlah mungkin data pribadi kita bocor kepada publik, jangan percaya 100% kepada fintech yang bilang kepada anda bahwa data kita aman ditangan mereka, apalagi kalau fintech tersebut belum diawasi oleh badan khusus seperti OJK (Otoritas Jasa Keuangan), tapi ya namanya platform tetap saja yang bertanggung jawab atas aman atau tidaknya adalah si developer yang membuatnya (kapok kauuu).

Data kita bisa disalahgunakan orang lain mungkin sebagai contoh untuk penipuan yang seolah si penipu tau benar profile dari target yang sedang ditipu, atau mungkin data kita bisa dibuat untuk registrasi nomor telepon baru :v (kalau punya kartu keluarga juga), dan masih banyak hal lain kalau mau bahas tentang penyalahgunaan data pribadi. Akhir kata, Wasapadalah.. Wasapadalah..

Add comment

IT Security Enthusiast • Bug Hunter • Penetration Tester