sISI LAIN BELAJAR JAVASCRIPT

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 . 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