24 Mei 2012

SQL Injection


SQL INJECTION

Sql Injection adalah kegiatan hacking dengan menyerang website melalui browser dengan memasukkan sintax-sintax Sql untuk memperoleh informasi tertentu dengan membaca pesan error yang keluar.


 Setiap website memiliki admin, user yang terdaftar melalui adminlah yang dapat masuk ke dalam website melalui login. Disini ada kelemahan yaitu user dapat masuk kedalam system dengan memasukkan command SQL injection,disini kami memasukkan command pada username “ ’or’1’=‘1 ” dan passowordnya “’or’1’=‘1”  ,command diatas mempunyai arti tertentu,yaitu sebagai berikut :

Tanda single quote ‘ memiliki arti bahwa user dapat menginputkan command didalam command,atau user dapat memanipulasi database dengan menyisipkan tanda single quote.Kemudian untuk or’1’=’1 berarti lemparan hasil yang akan dimasukkan adalah true,karena semua variable yang di OR kan dengan true,dalam hal ini 1=1 akan bernilai true,sehingga data yyang akan dilempar kedalam database adalah nilai true,dan begitu pula dengan password yang dilempar dengan kembalian true,sehingga database akan meloloskan inputan user tersebut.Dan User dapat masuk kedalam database sebagai admin, hal tersebut dapat kita buktikan saat kita masuk kedalam query analyzer milik SQL server 2000,karena sintax pada SQL server 2000 dengan Mikrosoft acces hampir sama berikut tampilnnya :



apabila dapat masuk kedalam page admin maka, dapat leluasa memanipulasi data yang ada pada website tersebut

            SQL Injection juga dapat dilakukan melalui URL pada browser. Dari url ditambahkan tanda single quote () untuk melihat apakah ada eror yang muncul dengan penambahhan tanda single quote tersebut pada url,dan akan muncul tampilan seperti berikut :
             
              Dari tampilan diatas kita dapat melihat adanya pesan eror yang muncul dikarenakan ada karakter single quote yang dimasukkan pada url,sehingga ini akan memberi jalan pada hacker untuk mengeksploirtasi lebih jauh.kemudian setelah muncul eror kita lakukan step selanjutnya yaitu kita masukkan sintax seperti berikut
Kemudian kita urutkan angka order by 1 - -  ,order by 2- - ,order by 3  - - dan seterusnya sampai muncul eror


Disini muncul eror unknown column ‘5’ in order clause,ini berarti kolom yang tersedia pada database website tersebut berjumlah 4.
2. Selanjutnya kita lakukan step selanjutnya yaitu ketikkan (http://192.168.2.1/website/index.php?id=1+UNION+SELECT+1,2,3,4--) dari perintah tersebut, akan muncul sebuah angka (misalnya angka 2),
3.  kemudian dilanjutkan dengan perintah ( http://192.168.2.1/website/index.php?id=-1+UNION+SELECT+1,@@version,3,4--)  pada angka 2 tersebut kita ganti dengan @@version untuk melihat versi database yang digunakan karena hanya versi mysql 5 keatas yang dapat diinject.
6. kemudian selanjutnya kita eksploitasi lebih dalam tentang database tersebut dengan mencari nama database yang digunakan ketikkan (http://192.168.2.1/website/index.php?id=2+UNION+SELECT+1,concat(database()),3,4--) dan akan muncul tampilan seperti berikut


7. Dari tampilan diatas muncul nama database yang digunakan yaitu kamjardb,dari informasi ini kita dapat melihat tabel yang berada didalamnya dengan mengketikkan (http://192.168.2.1/website/index.php?id=-1+union+select+1,groupconcat(table_name),3,4+from +informationschema.tables+where+table_schema=database%28%29--).­­­­



Dengan informasi - informasi yang telah di dapat, maka tidak lah sulit bagi hacker untuk memanipulasi dat-data yang ada di dalam website tersebut.
TERIMA KASIH..
untuk full donwload tutorialnya gan
Klik disini