Jumat, 30 Desember 2011

html script injection & cross scripting

Sebagai aplikasi berbasis web telah menjadi lebih canggih, jenis kerentanan mampu mengeksploitasi telah meningkat pesat. Sebuah kelas tertentu serangan sering disebut sebagai "penyisipan kode" dan sering "Cross-Site Scripting" telah menjadi semakin populer. Sayangnya, jumlah aplikasi rentan terhadap serangan ini adalah mengejutkan, dan varietas penyerang menemukan cara untuk berhasil mengeksploitasi mereka ini terus meningkat. Analisis banyak situs telah mengindikasikan bahwa tidak hanya mayoritas situs yang rentan, namun mereka rentan terhadap metode yang berbeda banyak dan banyak konten mereka dipengaruhi.
Web server memberikan konten dinamis kepada klien internet merupakan komponen integral dari layanan online yang paling penawaran organisasi. Kemampuan untuk menyempurnakan konten dan menanggapi permintaan klien individu merupakan fungsi standar untuk setiap situs yang sukses. Sayangnya, karena kode aplikasi kurang berkembang dan sistem pengolahan data, mayoritas situs-situs sukses adalah rentan terhadap serangan yang fokus pada cara isi HTML yang dihasilkan dan ditafsirkan oleh browser klien. Penyerang seringkali mampu menanamkan berbahaya HTML berbasis konten dalam permintaan web klien. Dengan pemikiran dan analisis yang memadai, penyerang dapat memanfaatkan kelemahan ini dengan menanamkan elemen scripting dalam isi kembali tanpa sepengetahuan dari pengunjung situs.Meskipun potensi bahaya telah dikenal selama beberapa tahun sekarang, keberhasilan baru-baru ini dan peningkatan pemahaman cross-site scripting serangan telah meningkatkan pentingnya input pengguna dengan benar menyerahkan dalam konten web dinamis yang dihasilkan. Situs profil tinggi telah terbukti rentan terhadap cross-site scripting serangan. Serangan di masa depan cenderung menjadi lebih canggih dan, melalui otomatisasi dan eksploitasi kerentanan browser klien, berkali-kali lebih dahsyat.Dokumen ini bertujuan untuk mendidik mereka yang bertanggung jawab atas pengelolaan dan pengembangan layanan online komersial dengan menyediakan informasi yang diperlukan untuk memahami pentingnya ancaman, dan memberikan saran pada pengamanan aplikasi terhadap jenis serangan.


Kode Penyisipan
Keberhasilan dari jenis engsel serangan terhadap fungsionalitas dari browser klien. Dalam HTML, untuk membedakan teks dapat ditampilkan dari bahasa markup ditafsirkan, beberapa karakter diperlakukan khusus. Salah satu karakter khusus yang paling umum digunakan untuk mendefinisikan elemen-elemen dalam bahasa markup adalah "<" karakter, dan biasanya digunakan untuk menunjukkan awal dari sebuah tag HTML. Tag ini dapat mempengaruhi format halaman atau menginduksi sebuah program yang mengeksekusi browser klien (misalnya tag <script> memperkenalkan sebuah program JavaScript).Seperti kebanyakan web browser memiliki kemampuan untuk menafsirkan script tertanam dalam konten HTML diaktifkan secara default, harus penyerang berhasil menyuntikkan konten script, kemungkinan akan dilakukan dalam konteks pengiriman (misalnya website, membantu HTML, dll) oleh pengguna akhir . Script tersebut dapat ditulis dalam sejumlah bahasa scripting, asalkan client host dapat menafsirkan kode. Tag scripting yang paling sering digunakan untuk menanamkan konten berbahaya termasuk <script>, <object>, <applet> dan <embed>.Sementara dokumen ini umumnya berfokus pada ancaman yang disajikan melalui injeksi kode script berbahaya, tag lainnya dapat dimasukkan dan disalahgunakan oleh penyerang. Pertimbangkan tag <form> - dengan menyisipkan tag HTML informasi yang tepat, penyerang bisa menipu pengunjung situs ke dalam mengungkapkan informasi sensitif dengan memodifikasi perilaku bentuk yang ada misalnya. Tag HTML lain dapat dimasukkan untuk mengubah penampilan dan perilaku dari sebuah halaman (misalnya perubahan dari sebuah organisasi rekening online tahunan atau pernyataan presiden?).Hal ini penting untuk memahami tag HTML yang paling umum digunakan untuk melakukan penyisipan kode tag. Rincian Tabel berikut atribut yang paling penting dari tag tersebut. Namun, penting untuk dicatat alternatif yang "in-line" scripting elemen dapat digunakan dan ditafsirkan oleh generasi saat ini browser web, seperti javascript: alert ('script mengeksekusi').





HTML TagDescription
<SCRIPT> Menambahkan sebuah script yang akan digunakan dalam dokumen.
atribut:

  • type = Menentukan bahasa script. Nilainya harus jenis media (teks misalnya / javascript). Atribut ini diperlukan oleh spesifikasi HTML 4.0 dan merupakan pengganti direkomendasikan untuk atribut "bahasa"
  • language =Mengidentifikasi bahasa script seperti JavaScript atau VBScript.
  • src = Menentukan URL dari file luar yang berisi naskah yang akan dimuat dan dijalankan dengan dokumen. (Netscape saja)
Didukung oleh: Netscape, IE 3 +, HTML 4, Opera 3 +
<OBJECT>Tempat objek (seperti sebuah applet, file media, dll) pada sebuah dokumen. Tag seringkali berisi informasi untuk mengambil kontrol ActiveX yang menggunakan IE untuk menampilkan objek.
atribut:

  • classid =Mengidentifikasi identifier kelas objek.
  • codebase = Mengidentifikasi URL dari basis kode objek.
  • codetype =
    Menentukan jenis media kode. Contoh jenis kode mencakup audio / dasar, teks / html, dan image / gif. (IE dan HTML 4.0 saja)
  • data = Menentukan URL dari data yang digunakan untuk objek.
  • name =Menentukan nama objek yang akan direferensikan oleh script  
                 pada halaman
  • standby =Menentukan pesan untuk menampilkan sementara beban objek..
  • type =Menentukan jenis media untuk data.
  • usemap =Menentukan URL imagemap untuk digunakan dengan objek.
Didukung oleh: Netscape, IE, HTML 4
<APPLET>
Digunakan untuk menempatkan applet Java pada dokumen. Hal ini disusutkan dalam spesifikasi HTML 4.0 mendukung <object> tag.
atribut:
  • code = Specifies the class name of the code to be executed (required).
  • codebase = The URL from which the code is retrieved.
  • name = Names the applet for reference elsewhere on the page.
Supported by: Netscape, IE 3+, HTML 4
<EMBED>Embeds an object into the document. Embedded objects are most often multimedia files that require special plug-ins to display. Specific media types and their respective plug-ins may have additional proprietary attributes for controlling the playback of the file. The closing tag is not always required, but is recommended. The tag was dropped by the HTML 4.0 specification in favour of the <object> tag.
Attributes:

  • hidden = Hides the media file or player from view when set to yes.
  • name = Specifies the name for the embedded object for later reference within a script.
  • pluginspage = Specifies the URL for information on installing the appropriate plug-in.
  • src = Provides the URL to the file or object to be placed on the document. (Netscape 4+ and IE 4+ only)
  • code = Specifies the class name of the Java code to be executed. (IE only)
  • codebase = Specifies the base URL for the application. (IE only)
  • pluginurl = Specifies a source for installing the appropriate plug-in for the media file. (Netscape only)
  • type = Specifies the MIME type of the plug-in needed to run the file. (Netscape only)
Supported by: Netscape, IE 3+, Opera 3+
<FORM>Indicates the beginning and end of a form.
Attributes:

  • action = Specifies the URL of the application that will process the form.
  • enctype = Specifies how the values for the form controls are encoded when they are submitted to the server.
  • method = Specifies which HTTP method will be used to submit the form data.
  • target = Specifies a target window for the results of the form submission to be loaded ( _blank, _top, _parent, and _self).
Supported by: All

 

Tidak ada komentar:

Posting Komentar