• Pengertian CSRF

    CSRF (Cross-Site Request Forgery)


            CSRF (Cross-Site Request Forgery) adalah jenis serangan keamanan yang memungkinkan penyerang untuk memanipulasi pengguna untuk melakukan aksi yang tidak diinginkan pada situs web yang sah.

    CSRF adalah singkatan dari:
    - Cross-Site: Menyebutkan bahwa serangan ini melibatkan situs web yang berbeda.
    - Request: Menyebutkan bahwa serangan ini melibatkan permintaan ke situs web.
    - Forgery: Menyebutkan bahwa serangan ini melibatkan pemalsuan identitas pengguna.
     
    Cara Kerja CSRF
    1. Penyerang membuat formulir palsu: Penyerang membuat formulir palsu yang mirip dengan formulir yang sah pada situs web.
    2. Pengguna mengakses formulir palsu: Pengguna mengakses formulir palsu dan mengisi data yang diminta.
    3. Formulir palsu mengirimkan permintaan: Formulir palsu mengirimkan permintaan ke situs web yang sah dengan data yang telah diisi oleh pengguna.
    4. Situs web yang sah memproses permintaan: Situs web yang sah memproses permintaan yang dikirimkan oleh formulir palsu, sehingga melakukan aksi yang tidak diinginkan.
    Contoh Serangan CSRF
    1. Pengiriman uang: Penyerang dapat memanipulasi pengguna untuk mengirimkan uang ke rekening penyerang.
    2. Perubahan password: Penyerang dapat memanipulasi pengguna untuk mengubah password akunnya.
    3. Penghapusan data: Penyerang dapat memanipulasi pengguna untuk menghapus data yang penting.
    Cara Mencegah CSRF
    1. Penggunaan token: Penggunaan token yang unik dan acak untuk setiap permintaan yang dikirimkan ke situs web.
    2. Penggunaan header: Penggunaan header yang spesifik untuk setiap permintaan yang dikirimkan ke situs web.
    3. Penggunaan SSL/TLS: Penggunaan SSL/TLS untuk mengenkripsi komunikasi antara pengguna dan situs web.
    4. Penggunaan validasi: Penggunaan validasi yang ketat untuk setiap permintaan yang dikirimkan ke situs web.

    Contoh Kode CSRF

    <form action="http://example.com/transfer" method="post">
      <input type="hidden" name="amount" value="1000">
      <input type="hidden" name="recipient" value="penyerang">
      <input type="submit" value="Transfer">
    </form>


    Kode di atas adalah contoh kode CSRF yang dapat memanipulasi pengguna untuk mengirimkan uang ke rekening penyerang.