Site icon Mawan.NET

Cara Mereset Password Moodle Dengan Mengakses Langsung Database

Sebagai seorang programmer, mungkin kita ingin membuat semacam “backdoor” di mana kita bisa mereset password user tanpa perlu login ke Moodle sebagai Admin. Caranya: Buat beberapa baris kode program PHP. Program PHP ini bila dijalankan akan membuka database Moodle lalu mengupdate kolom password pada tabel mdl_user. Gampang kan? Masalahnya adalah: Bagaimana cara Moodle menyimpan hash dari suatu password?

Ketika saya membuka tabel mdl_user lalu mengamati kolom password, tampaknya kolom itu bukan hasil dari MD5 ataupun SHA1.

Untuk password “percobaan”, di tabel tersimpan:
$2y$10$kDNIdUPal.hjDo.NQ5khg.Sn2kUdkK7ynXwSjJ2E12C/uhaaAI6GS

Sedangkan sha1(“percobaan”) adalah:
1be1171d33895e789ebd4a07601434c8b99b67f2

Bila dicoba dengan md5(“percobaan”) hasilnya adalah:
cdca96f7ae799f207d8f94b016c7c5be

Jadi, kemungkinan besar Moodle menambahkan string lain sehingga makin sulit diterka. Para programmer biasa menyebutnya “salt”. Mungkin saja dengan perintah sha1(md5(“percobaan” + “acak”)) atau dengan kombinasi lain yang tak terbatas kemungkinannya, yang membuat mustahil bisa menebak bagaimana cara Moodle menyimpan password.

Saya mulai frustasi. Lalu saya mempelajari setiap kode program Moodle. Ada ratusan baris kode yang harus dipelajari. Pusing, yang membuat saya hampir putus asa.

Lalu saya coba-coba memberikan perintah ini:

update mdl_user set password = md5(“percobaan”) where username = “percobaan”;

Saya tidak yakin perintah di atas bisa berhasil. Cuma tebak-tebak saja. Setelah itu saya membuka web browser untuk login menggunakan halaman loginnya Moodle. Ketik username dan password. Lha kok bisa? Kejutan! Hore!

Jadi kesimpulannya, untuk mengubah password Moodle, cukup dengan perintah MD5. Saya tersenyum manis, penuh optimis, dan mulai membuat backdoor untuk aplikasi Android yang sedang saya kembangkan.

Exit mobile version