Pengertian XSS ( Cros Site Scripting ) | Wondering Cyber

Pengertian XSS ( Cros Site Scripting )

Unknown // Rabu, 06 Agustus 2014

Pengertian Cross Site Scripting  XSS

Sesuai dengan namanya CrossSite Scripting yang berasal dari kata Cross berarti silang /menyilang, Site berarti tempat(halaman website), Scripting berarti pengkodean / penulisan kode dari sini kita dapat mendefinisikan bahwa Cross Site Scripting atau yang lebih dikenal dengan XSS berarti penyilangan suatu kode pada halaman website.
Tidak hanya sebatas itu,definisi dari XSS sendiri bisa bermacam-macam sesuai dengan tingkatpemahaman mengenai XSS. Tetapi sebenarnya XSS ini macro dari suatuteknik Injection yang ada. Oleh sebab itu, jika dilihat dari efek yang ditimbulkan Cross sendiri bisa berarti pembelokan(berfokus pada arah) sehingga XSS bisa diartikan penulisan kode pada sebuah halaman website agar berbelok ke target yang di inginkan. Kasus pembelokan ini lebih dikenal dengan deface yang dalam arti sebenarnya adalahmengotori / menodai / merusakkan. Pada intinya Cross Site Scripting –XSS memanfaatkan vulnerability yang ada.Maka dari itu sebelum anda melanjutkan pembacaan artikel ini, saya berpesan jangan terlaluber fokus pada definisi yang banyak ragamnya tetapi berfokuslah pada pemahaman anda sendiri.
Dan satu hal lagi artikel ini saya khususkan untuk para newbie (meskipun saya sebenarnya masih newbie abis) tetapi boleh juga kok jika para master mau membaca artikel, mungkin ada yang lupa hehehe.
O iya untuk yang sudah master mohon saran dan pencerahannya jika ada tulisan-tulisan saya yang salah.
Dimana Cross Site Scripting – XSS bekerja?
Cross Site Scripting – XSS bekerja pada sisi client.
Meskipun XSSini bekerja pada sisi client tetapi efek yang dihasilkan akan memaksa server untuk menjalankan kode yang di masukkan. Nah anda bisa membayangkan sendiri bagaimana jika server menjalankan perintah kita…kwekekekeke…
Bagaimana Cross Site Scripting – XSS inibekerja?
Cross Site Scripting – XSS bisa bekerja melalui banyak cara. Kenapa saya menyebut kata banyak, karena semua itu tergantung dari kreativitas pribadi. Seperti yang saya ketahui XSS bisa berjalan melalui 3 cara:
  1. Pemanfaatan Tools
  2. Penulisan pada source code
  3. Penulisan pada URL
- Pemanfaatan tools : seperti yang anda ketahui bahwa tools di dunia ini sangat banyak sekali, beberapa yang pernah saya gunakan adalah Live HTTP Headers dan Achilles. Kedua toolstersebut bekerja dengan cara yang hampir sama yaitu melakukan perubahan – perubahan terhadap variabel yang dikirimkan. Mungkin yang sudah pernah melakukan ini berpikir “Loh inikan …bla blabla…”. Jika anda ingin menggunakan metode ini saya sarankan untuk menggunakan browser Mozilla dengan alasan Live HTTP Headers merupakan plugins Mozilla dan Mozilla bekerja lebih cepat dari yang lain jika menggunakan Achilles.

- Penulisan pada source code : pada metode iniscript atau kode yang ingin dijalankan ditulis pada source code yang muncul. Untuk menerapkan metode ini saya sarankan menggunakan browser Opera, karena Opera bisa langsung melakukan Reload terhadap source code sehingga server akan menganggap source code yang kita ubah sebagai source code aslinya dan document.referrer yang tampak adalah document.referrer aslinya. Atau dengan kata lain browser Opera bisadi gunakan untuk menghindari pengecekan document.referrer oleh server.

- Penulisan pada URL : pada metode ini script atau kode di tuliskan melalui URL.
Script atau bahasa pemrograman apa saja yangbisa digunakan? script yang bisa digunakan sangat beragam, halini kembali lagi kepada kemampuan anda. Sampai yang saya ketahui saatini, berdasarkan pengalaman dan artikel-artikel yang pernah saya baca ada beberapa bahasa yang bisa di gunakan untuk Cross Site Scripting atau sebut sajalah untuk Injeksi, yaitu: CSS, HTML, Javascript, VBScript, Flash, SQL, dll. “Loh kok CSS dan SQl juga masuk?”hehehe sabar….
     - CSS : jika kita menggunakan jasa blogger tentunya kita akan melakukan editing pada tampailannya agar sesuai dengan yang kita harapkan. Jika kita hanya melakukan edit terhadap layout/tampilan saja seperti warna latar / background, dan lainsebagainya tidak akan menjadi masalah, tetapi jika dalam CSS tersebut kita masukkan code yang akan mengakses file lain yang berisikode-kode tertentu ya tahu sendirilah efek yang dihasilkan dan tentunya kembali lagi ke kode yang terdapat pada file target tersebut….
     - HTML : dengan menggunakan HTML berarti kita memasukkan / menuliskan tag HTML seperti halnya tag script, iframe,div, dll. Kasus ini sudah saya pratekkan sendiri yang sampai sekarangmasih berjalan. Jika anda ingin melihat contoh efeknya silahkankunjungi FS (friendster) saya jhal_prolinx@yahoo.com. “Jangan-jangan nanti cookie saya di curi?” santai saja ga kok, di FS saya cumauntuk menampilkan halaman blogger saja. Eleh… kok malah nglantur.Tag yang saya gunakan adalah div dan iframe yang ditulis dengan menggunakan kode Hexa. “Tapi sekarang kok tidak bisa ya???” Itu sebabnya saya salut sama si admin tuh FS karena ga sampai 1 minggu script berjalan, proses filteringnya udah ditambahin. kwekekee. O ya sekedar inputan dari saya, FS banyak memberikan kita kesempatan untuk mencoba teknik injeksi HTML. Pengen tahu? cari aja sendiri banyakkok…
     - Javascript : nah ini dia… anda tahu sendiri kalau Javascript merupakan salah satu bahasa pemrograman dan apa saja yang bisa dilakukan oleh si Javascript. Dengan javascript kita bisa membuat Cookie, membuat / mengakses database, atau bahkan sebaliknya hehehe… Oya dengan javascript kita juga bisa mengirim atau bahkan membuat virus lho… Tapi saya sendiri masih belum tahu bagaimana caranya… “Tapi kenapa ditulis tentang virus seh???” hehehe sengaja saya tulis karena beberapa hari yang lalu ada file javascript(*.js) yang terdeteksi sebagai virus daripada komputer kerja keserang virus jadi aku blok aja. Atau mungkin sudah ada yang bisa kasih tahu dong… Tukeran ilmu coy… XSS dengan javascript inisering juga disebut dengan istilah Javascript Injection. Mungkin ada yang belum tahu mengenai Javascript Injection padahal hal ini jauh lebih dulu ada sebelum SQL Injection muncul tapi kenapa gak populerya padahal Java-Injek bisa lebih berbahaya karena dia kan bisa jalandi sisi client?.
     - VBScript : nah kalo yang satu ini jujur saja saya belum mempelajari dan sering ga masuk waktu kuliah bahasa pemrogramanVB jadi yah bagaimanapun juga saya ga suka dan karena saya lebih senang sama si C. Tapi si VBScript neh sudah pasti banyak virus yangditulis dengan bahasa ini.
     - Flash : kenapa Flash? Ya!! karena dengan menggunakan flash kita bisa menuju lokasi lain atau anggaplah melompat ke URl lain. “Kok bisa?? Bukankah flash cuma animasi??”Bagaimana kalau loopingnya kita arahkan ke URL?
     - SQL : anda-anda semua pasti sering mendengar SQLInjection daripada si Java-Injek. Mungkin anda bertanya kenapa SQLInjection bisa masuk kategori Cross Site Scripting? Kembali kepemahaman dasar bukankah SQL Injection memanfaatkan vulner sebuahwebsite dan memaksakan potongan kode agar di eksekusi oleh server…nah karena itulah SQL Injection juga masuk kategori XSS. SQLInjection berarti kita memasukkan potongan kode SQL agar dieksekusi oleh server yang pada intinya bagaimana agar si server selalu menghasilkan nilai benar saat melakukan prosesnya.
Kalau anda rasa artikel ini sudah usang dan kurang karena tidak disertai contoh-contohnya, mungkin pada kesempatan lain saya akan membahas satu persatu dan tentunya kalo saya sendiri sudahmemahami masing-masing bahasan.
Saya tidak bertanggung jawab jika ada yang mempraktekkan Cross Site Scripting untuk tujuan merusak. Artikel ini sepenuhnya saya tulis dengan tujuan agar para calon webmaster bisa menghindari dan menangani vulner-vulner yang muncul pada websitenya.
Saran dari saya untuk mengurangi terjadinya Injection-Injection yang ada adalah:
  1. Hindari input-input yang memungkinkan client untuk menyisipkan karakter dan tag html.
  2. Selalu cek / koreksi input dari client apakah input tersebut sudah benar berupa huruf cetak dan angka saja?
  3. Gunakan document.referrer untuk mengecek keaslian data atau source code.
  4. Hindari metode pengiriman GET, jadi gunakan selalu metode POST.
  5. Jika anda menggunakan PHP, set Register Global menjadi Off. Hindari penggunaan cookie untuk validasi. Gunakan session yang hanya bekerja pada sisi server. Dan setting php.ini untuk membatasi function-function apa saja yang bisa diakses. Atau dengan kata lain blok penggunaan function-function yang dianggap rawan.
  6. Jika website anda menyediakan suatu database, selalu gunakan Store Procedure untuk melakukan semua aktivitas yang berhubungan dengan database.






    sumber : Zughie Vulnerability 



0 komentar

silahkan tulis komentar anda, tetapi jangan menggunakan kata-kata yang mengandung SARA, PORNO, DLL
Dilarang spam !!