Pengalaman Meretas Ketika SMK: Ujian Daring

Tempo hari saya pernah membuat tulisan tentang Pengalaman Meretas Ketika SMK: Proxy Untuk Akses Internet Siswa yang dimana saya berjanji akan membuat tulisan lanjutannya. Kali ini saya menepati janji saya tentang pengalaman meretas saya yang bernuansa ujian daring. Perlu teman-teman ketahui ketika SMK dulu di sekolah saya semuanya serba teknologi termasuk ujian daring yang membuat sekolah ini terkenal bahkan sampai menjual aplikasi ini.

Merubah Nilai Melalui URL

Saya tidak tahu pasti apa nama dari teknik yang saya gunakan ini, yang jelas saya menggunakannya ketika masa martrikulasi. Ketika itu setiap siswa diharuskan untuk sampai level tertentu dalam mata pelajaran matematika. Kelemahan ini bisa langsung ditemukan ketika melihat URL dimana level dan nilai yang tercantum di halaman web terdapat juga pada URL nya. Saya coba untuk merubah bagian nilai dan VOILA nilai saya berubah. Lalu saya mencoba lagi mengubah level pada URL dengan level yang belum saya kerjakan. Hasilnya? Saya tidak perlu lagi mengerjakan lagi soal-soal pada level yang lain karena cukup merubah level dan nilai yang diinginkan saja.

Ketika bulai Mei 2018 saya berkesempatan mengisi kuliah umum di SMK saya dulu dan menceritakan kisah ini. Beberapa siwa bilang bahwa mereka pun ada yang menggunakannya dan mengetahui trik ini dari kakak kelas. Hmm berarti ilmu saya ini turun-temurun dan tim Developer kurang cepat dalam menanganinya. 🤭

SCRIPT TELANJANG

Kalau yang ini sempat ramai dan bukan hanya saya saja yang menyadari trik ini. Jadi waktu itu ada sebuah aplikasi ujian daring yang selalu dibanggakan dan semua siswa ujian menggunakan aplikasi tersebut. Sayangnya ternyata ketika kita melihat kode sumbernya dan jika jeli maka akan menyadari bahwa ada jawaban pada kode sumber halaman tersebut.

Waktu itu ketika saya sudah masuk ke dalam aplikasi ujian daring saya coba membuka kode sumbernya dengan menekan CTRL + U. Saya lupa nama variabelnya yang jelas waktu itu terdapat 8 dijit huruf seperti ini ABCDDBDA. Sekitar 15 menit saya membaca kode sumber ini sambil mengerjakan latihan ujian daring saya melihat sesuatu yang tampaknya cocok 😏. Ternyata eh ternyata dijit ke-6 dari barisan dijit tersebut adalah jawabannya. Saya tinggal melihat saja si variabel tersebut untuk nomor berapa dan tinggal isi deh. Oh yaa saya dan teman-teman menyebut teknik ini dengan sebutan teknik ABCDD.

JAVASCRIPT

Singkat cerita kelemahan dari aplikasi ujian daring tersebut diketahui banyak siswa dan baunya sampai ke tim pengembang aplikasi. Di kesempatan lain saya coba menggunakan cara saya yang lama. Memang masih ada tuh variabel yang isinya ABCDD namun ternyata dijit ke 6 sudah bukan lagi jawabannya. Saya coba untuk menebak dengan dijit ke-7 serta ke-8 dan hasilnya nihil.

Awalnya saya berfikir mungkin memang sudah tidak bisa karena pembaharuan aplikasi, namun saya berfikir lebih dalam lagi “Kalau sudah menggunakan cara baru mengapa variabel ABCDD masih ada di kode sumber?”. Kebetulan waktu itu saya sudah mengetahui sedikit tentang yang namanya web dan saya mengetahui bahwa yang bisa melakukan “teknik sembunyi” seperti ini adalah Javascript. Jadi ketika saya masuk ke aplikasi saya langsung mematikan Javascript pada peramban dan hasilnya teknik ABCDD bisa digunakan kembali.

KEBOCORAN AKSES

Aplikasi di sekolah saya kala itu banyak tidak hanya ujian daring saja melainkan pengolahan data pun sudah otomatis. Contoh aplikasinya adalah surat-menyurat, poin siswa, absensi, dan lain-lain. Ceritanya waktu itu sekolah punya FTP server yang kalau dilihat-lihat sih itu miliknya staff IT. Saya mengetahui ini ketika salah satu staff mengunduh berkas dari FTP Server ini.

Di sore hari ketika jam kosong saya mencoba untuk melihat-lihat isi dari FTP server. Saya tidak ada niatan yang aneh-aneh kok cuman ingin melihat saja dan kebetulan waktu itu saya ingin mengunduh salah satu distro linux yang tersedia di FTP server ini. Namun ketika saya melihat satu berkas dengan format .sql dengan nama berkas yang mengarah kepada sesuatu saya langsung berfikiran berbeda.

Saya cepat-cepat mengunduh berkas ini, waktu itu perasaan saya campur aduk dengan pertanyaan dalam hati “Apa mungkin tim pengembang menyimpan berkas database di tempat terbuka?”. Setelah saya yakin bahwa berkas telah saya unduh saya langsung pulang agar bisa “bekerja” lebih tenang. Saya takut ketika di sekolah ketahuan masalah bisa jadi panjang.

Sesampainya di rumah saya langsung menyalakan komputer dan melakukan import  berkas berformat .sql tersebut dan ketika selesai saya terkejut. Ternyata berkas tersebut merupakan dump  dari aplikasi sistem informasi sekolahan. Tidak hanya ujian daring, tetapi keseluruhan aplikasi ada di sini. Saya bisa mempelajar bagaimana alur aplikasi yang digunakan sekolah hanya dari berkas yang saya dapatkan. Berkas ini merupakan berkas berharga yang dimana menjadi awal mula saya semangat dalam melakukan hacking pada aplikasi sekolah.

KEBETULAN BYPASS

Jadi saat itu sekolah saya membuat aplikasi baru yang lebih bagus. Namun tampaknya masih ada relasi basis data dengan aplikasi yang lama terutama bagian user. Sebelumnya saya telah bercerita bahwa saya mungunduh cadangan basis data dari server dan dari situ terdapat informasi pengguna. Nah saya coba masuk pada aplikasi dengan akun pengguna yang saya dapatkan tetapi tidak ada yang bisa masuk. Tampaknya di aplikasi baru ini pengguna (guru & pedatin) sudah menggunakan aplikasi baru.

Suatu hari saya iseng ingin melihat-lihat data pada aplikasi yang lama dan saya pun masuk ke aplikasi lama. Setelah beberapa saat masuk saya berfikiran mencari cara untuk “menjebol” keamanan dari aplikasi baru dan saya langsung membuka aplikasi baru tersebut.  Ketika membuka saya agak terkejut bahwa saya langsung masuk pada aplikasi baru tanpa memasukkan terlebih dahulu user & password sebagaimana mestinya. Setelah saya melihat ternyata saya masuk dengan user yang saya gunakan barusan di aplikasi lama. Saya coba keluar dan masuk lagi dengan akun yang berbeda di aplikasi lama dan masuk kembali ke aplikasi baru, hasilnya saya masuk dengan user yang sama.


Mungkin beberapa dari kalian yang membaca berfikir bahwa teknik-teknik yang saya gunakan kurang menyentuh karena banyak yang kebetulan. Ya itulah dunia keamanan terkadang kita menemukan sebuah celah secara kebetulan atau celah itu namun kita tidak peka. Saya akan lanjutkan cerita ini di postingan baru tentang meretas ujian tertulis.

Close