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.
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
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.
- Penyerang membuat formulir palsu: Penyerang membuat formulir palsu yang mirip dengan formulir yang sah pada situs web.
- Pengguna mengakses formulir palsu: Pengguna mengakses formulir palsu dan mengisi data yang diminta.
- Formulir palsu mengirimkan permintaan: Formulir palsu mengirimkan permintaan ke situs web yang sah dengan data yang telah diisi oleh pengguna.
- Situs web yang sah memproses permintaan: Situs web yang sah memproses permintaan yang dikirimkan oleh formulir palsu, sehingga melakukan aksi yang tidak diinginkan.
- Pengiriman uang: Penyerang dapat memanipulasi pengguna untuk mengirimkan uang ke rekening penyerang.
- Perubahan password: Penyerang dapat memanipulasi pengguna untuk mengubah password akunnya.
- Penghapusan data: Penyerang dapat memanipulasi pengguna untuk menghapus data yang penting.
- Penggunaan token: Penggunaan token yang unik dan acak untuk setiap permintaan yang dikirimkan ke situs web.
- Penggunaan header: Penggunaan header yang spesifik untuk setiap permintaan yang dikirimkan ke situs web.
- Penggunaan SSL/TLS: Penggunaan SSL/TLS untuk mengenkripsi komunikasi antara pengguna dan situs web.
- 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.