Proteksi serangan csrf pada Yii 2.0

CSRF (Cross Site Request Forgery) merupakan suatu serangan pada website yang dieksekusi atas wewenang korban tanpa dikehendakinya (Berdasarkan kebanyakan artikel). Berdasarkan pengalaman yang penulis dapatkan, serangan ini terjadi akibat tidak adanya validasi terhadap token CSRF karena dilihat dari cara penyerangannya, penyerang memanfaatkan cookies CSRF dengan mengambil skrip HTML yang dapat dilihat melalui Inspect Elemen kemudian di jalankan melalui format HTML. Secara teknis penulis sendiri masih minim pengetahuan tentang teknik penyerangan satu ini tapi dari yang sudah penulis coba berdasarkan beberapa video youtube setidaknya penulis sedikit tahu tentang teknik penyerangan csrf.

Kurang lebih teknik csrf terlihat seperti gambar di atas. Bagi seorang pemula dan orang awam tekniknya terlihat se-simple itu tetapi bagi kalangan hacker kelas elite tentu mereka memiliki banyak cara. Membuat website menggunakan framework tidak hanya memangkas waktu pembuatan tetapi juga sudah di sediakan berbagai fitur keamanan untuk melindungi website dari berbagai jenis serangan web, termasuk CSRF. Yii 2.0 menyediakan fitur untuk menangkal serangan CSRF dengan melakukan validasi token csrf dan membuat token csrf yang baru setiap refresh halaman sehingga csrf token yang lama akan invalid.
Berikut cara membuat proteksi CSRF pada Yii 2.0 :

1. Tambahkan CsrfValidation pada Controller :
public $enableCsrfValidation = true;
2. Tambahkan function before action :
    public function beforeAction($action)
    {
        $this->enableCsrfValidation = true;
            return parent::beforeAction($action);
    }
3. Tambahkan fungsi request pada file config/main jika menggunakan Yii 2.0 Advanced atau config/web jika menggunakan 2.0 Basic
        'request' => [
            'enableCsrfCookie'=>false,
            'enableCsrfValidation'=>true,
            'enableCookieValidation'=>true,
        ],
Sedikit ilmu dari pengguna Yii lainnya.

Dari cara tersebut memang dapat menutup celah CSRF tetapi dengan kemampuan penulis yang bukan seorang hacker atau lebih tepatnya hanya pemula, penulis tidak menjamin sepenuhnya cara tersebut ampuh melindungi serangan CSRF. Seperti yang penulis katakan sebelumnya, bagi kalangan hacker kelas elite selain mereka memiliki banyak pengalaman mereka juga memiliki banyak cara untuk melakukan penyerangan. Akhir kata, semoga bermanfaat.

Referensi :
Yii2-Cookbook
Stackoverflow
Special thanks :
Misbahul D Munir
Yii PHP Framework Indonesia (Facebook Group)
Bayu Radityo

Seorang lulusan teknik informatika yang senang dalam berbagi ilmu pengetahuan, dan membuat karya digital berupa photomanipulation dan digital drawing. instagram external-link

Posting Komentar

Lebih baru Lebih lama