Jasakom - Javascript dikenal sebagai bahasa script sisi klien yang diinterpretasikan oleh browser. Bahasa ini sering digunakan untuk membangun halaman web yang dinamis yang dapat berubah dan melakukan..DUMPLING
Artikel ini ditulis oleh seorang hacker bernama b0iler, ditulis bukan untuk mengajari anda menjadi pencuri, namun sebagai bahan pertimbangan dari artikel saya mengenai pencegahan serangan terhadap cookie user:
Berikut ini ringkasan dari artikelnya:
........................
1. Memutus Banner dan membunuh Frame
-------------------------------------------------------
Saya katakan memutus banner, adalah saat anda menggunakan javascript (atau tag lainnya) yang tidak di render oleh browser sama halnya dengan tag html biasa untuk mendapatkan popup banner. Biasa dilakukan secara otomatis oleh webhosting gratis pada halaman web anda. Ide dasar ini adalah memiliki tag yang tidak dirender sebagai html sebenarnya sebelum html dari webhosting tersebut menambahkan banner mereka begitu browser user tidak menemukan banner. Hal yang nyata adalah satu kunci hal yang anda ingin temukan dalam teknik membunuh banner tersebut. Inilah apa yang tag situs gunakan sebagai suatu "kunci". Apa yang saya maksudkan dengan hal ini adalah apakah banner yang mereka tambahkan datang sebelum atau sesudah? Coba perhatikan yang skema HTML yang umum dibuat dibawah ini. dibawah ini.
<html>
<!-script yang ditulis -->
<body>
text
Kemudian saat mengupload halaman dan menampilkannya pada browser. Lihat kode sumber dari halaman dan cari dimana banner situs tersebut ditambahkan. Jika datang sesudah tag dan sebelum tag kemudian anda ingin melihat apakah ditambahkan sebelum dan sesudah <!-- script yang ditulis --> yang ada diantara keduanya. Jika ditambahkan sebelum, maka tag adalah tag "kunci" (keytag) yang mereka tambahkan banner sesudahnya. Sedangkan bila dibawah <!-- script yang ditulis --> maka ketahuilah bahwa keytag ditambahkan setelah tag
Nah begitu kita ketahui dimana mereka menambahkan html banner, apa yang kita lakukan untuk menghentikan proses otomatis tersebut? Kita coba membuat sebuah tag "palsu" dan berharap banner html ditambahkan kesana. Kemudian gunakan javascript untuk mencetak tag asli. Kita dapat melakukan beberapa hal, seperti script dibawah ini:
Dasar untuk menghentikannya.
<noscript>
<keytag> -tag palsu. Sebelum/sesudah tag ini dimana banner situs ditambahkan
<keytag> -tag asli
<script> ,
<keytag> -tag asli.
pencetakan tag dengan javascript - satu hal yang telah dipikirkan oleh para ahli web dan dapat bekerja dengan baik, jika anda mempunyai masalah saat anda menaruh keytag asli kemudian mencoba menggunakan javascript begitu situs bahkan tidak menganggapnya sebagai keytag. Anda mendapat javascript untuk mencetak tag satu huruf setiap kali.
<style>
<keytag> -tag palsu. Sebelum/sesudah tag ini dimana banner situs ditambahkan.
Jika semuanya bekerja dengan baik, semestinya halaman situs anda sudah terbebsa dari popup dan banner flash. Jika tidak saya harap anda harus "bermain-main" dengan memodifikasi javascript yang sudah ada. Setiap webhosting gratis tentunya memiliki keytag dan metode yang berbeda dalam menambah banner. Saya tidak dapat mencoba keseluruhan banner yang ada yang mencobanya.
Saya memutuskan untuk memberikan contoh sebenarnya dari situs gratis yang menambahkan iklan popup atau banner ke seluruh halaman yang anda miliki. Saya akan menggunakan webhosting angelfire. Perlu di ingat, bahwa webhosting tersebut dapat merubah teknik penambahan banner mereka setiap waktu. Jadi script dibawah ini mungkin saja tidak bekerja sebagaimana mestinya. Karena hal ini melanggar TOS (Terms of Service) hostingan tersebut, dan berakibat ditutupnya situs anda tanpa pemberitahuan. Disarankan untuk selalu memback-up data situs Anda ke hard disk OK?
angelfire
<html>
<head>
<title>testing
<body>
kode html yang biasa anda tulis
sebagaimana yang anda lihat, angelfire menaruh iklan mereka tepat setelah tag . Mereka semua memproteksi kita dari teknik menghilangkannya yaitu
. Jadi, kita dapat menaruh sesuatu seperti ini untuk menggagalkannya.
<style>
<body>
<body>
Begitu server angelfire akan menambahkan javascript untuk iklan mereka setelah tag . Menaruh iklannya setelah dan sebelum . Artinya bahwa browser user akan menganggap bahwa dan iklan angelfire adalah css (cascading style sheet).. yang ternyata adalah tag
Adapun yang script ini lakukan adalah memeriksa apakah halaman aktif
tidak berada di atas frame, jika tidak maka script akan
menaruhnya sebagai top frame, menghapus frame lain dari window browser.
2. Memperoleh Script dengan Filter Javascript
-----------------------------------------------------------
Saat anda mengisi info ke sebuah buku tamu. Data
isian tersebut akan ditempatkan pada halaman utama
buku tamu. Dan kapan saja, siapa saja yang sudah mengunjungi
halaman tersebut, kita ingin data mereka dikirim ke
http://www.lameindustries.org. Kita akan
memasukkan script ini ke buku tamu:
Terkadang saat anda ingin menggunakan javascript, terdapat beberapa
form filter yang akan menghentikan tag
Bagaimana saya mengetahui apa yang nilai hex
tersebut lakukan? Saya hanya memeriksa sebuah grafik ascii
dan menambahkan "&" sebelum angka. Sebuah grafik ascii dapat dilihat di situs
www.lameindustries.org/tutorials/tutorials/wtf_is_hex.shtml
Ada beberapa
situasi lain dimana javascript dapat digunakan. Jika anda
dapat menebak filter pada email user, anda dapat menggunakan keterampilan
men-spoofing email untuk mengirimkan suatu email dari seseorang yang mereka
percaya. Jika mereka membukanya anda dapat memiliki email langsung mereka ke
sebuah halaman yang menampilkan suatu pesan seperti ini "session timed
out, please log in again" dan setelah form tersebut dikirimkan ke script
cgi yang akan me-log nya. Hal ini bekerja untuk sebagian
kecil orang, tapi cukup bernilai suatu saat.
Mendapatkan dengan filter javascript dapat memandu anda untuk
mendapatkan cookies seperti forum, shopping cart, situs dan mengarahkan user ke
situs pilihan anda sendiri. Dimanapun ada input yang ditampilkan pada suatu
halaman dimana orang lain mengunjunginya disana ada
seseorang yang menggunakan javascript untuk mencuri informasi. Kenyataannya hingga detik artikel ini diturunkan, telah ditemukan
bahwa lycos dan search engine lainnya tergolong vulnerable untuk javascript
dalam mendeskripsikan website dan nama-nama, baca artikel di www.slashdot.org
untuk informasi lanjut. Hal ini menjamin 100% click untuk berbagai
pencarian situs anda jalankan.
Dibawah ini terdapat sebuah cert advisory concerning insertion of
script (javascript, vbscript, dll..) yang dimasukkan
ke dalam script:
http://www.cert.org/advisories/CA-2000-02.html
Update:
Sudah terdapat advisory (nasehat teknis) baru untuk hotmail dan situs
lain yang menggunakan filter javascript. Permasalahan dalam css dan penggunaan
tag . Sewaktu code berikut ini digunakan untuk me-link javascript akan di eksekusi, terjadilah kemungkinan pencurian cookies,
info atau mengarahkan user ke sebuah halaman login palsu.
link yang
diletakkan pada dapat berarti satu hal. Tentu saja
situs Hotmail telah dipatch sehari setelah laporan mengenai terjadinya Cross
Site Scripting, namun hal tersebut menunjukkan bahwa Hotmail tidaklah 100% aman
dan masin terdapat beberapa celah keamanan yang suatu saat dapat mengambil
script tereksekusi. Juga webmail lainnya, buku tamu, forum diskusi,
dsb... mungkin sangat rentan akan hal ini. Anda dapat
menggunakan exploit hotmail yang lama dan beberapa script lainnya yang
menginjinkan input dan mencetaknya dalam bentuk file .html. Saya
menemukan celah keamanan ini dalam sebuah script di situs www.cyberarmy.com
pada fasilitas webmail mereka. Saya tinggal melakukan ini
: <script type="javascript"> dan mengarahkan user ke sebuah login palsu. Sewaktu mereka login, username dan password mereka dikirim ke
sebuah script yang menulis informasi mereka ke sebuah database dan mereka login
ke script webmail asli kembali. Script yang dibuat oleh tim solusionscripts telah
berhasil mengatasi hal ini. Tapi ini pun masih rentan.
Ada catatan
bahwa field input text biasa bukan hanya satu-satunya cara
untuk memasukkan data ke suatu script. Menyembunyikan fields dan sekelompok variabel juga
terkadang sangat rentan. Beberapa script akan
memfilter seluruh field text, namun tidak memfilter field yang hidden, hal ini mengijinkan
anda untuk memasukkan javascript atau teknik jahat lainnya. Saya tidak akan
berbicara banyak mengenai hal itu, saat seseorang membutuhkan keseluruhan
tutorial dan kerena menulis javascript bukanlah hal pertama yang akan anda coba
untuk mengekploit situs tersebut. Sekelompok variabel yang anda dapat exploit
biasanya terkait satu sama lainnya atau disebut
user-agent, ketika pemeliharaan menjadi hanya satu orang yang menulis ke sebuah
file, mereka setidaknya telah memfilter input (menurut pengalaman saya).
Sungguh mudah untuk menemukan cara memasukkan
javascript jika anda mendapat potongan script tersebut. Terdapat dua cara mudah untuk melakukan hal ini, Pertama, dengan melihat
apakah script tersebut bersifat open source, kemudian download dan perhatikan
kelemahan kode tersebut. Kedua, mencari script/exploit yang
memungkinkan anda melihat sumber script lainnya. Lakukan beberapa
penelitian pada exploit lainnya dengan script lain pula (atau pada webservernya
sendiri).
No comments:
Post a Comment