Salah satu cara mengamankan website dan sistem informasi yang dibangun dengan PHP adalah dengan mendisable fungsi berbahaya di file configurasi php.ini. Berikut ini adalah tutorial cara mendisable fungsi di php.
Studi kasus
Dalam kasus ini kita akan mendisable fungsi gzinflate
. Fungsi ini sering di pakai oleh exploit untuk mengextract script php yang membahayakan sistem di fungsi spt ini ..
$UeXploiT = "Sy1LzNFQKyzNL7G……..";
eval(htmlspecialchars_decode(gzinflate(base64_decode($UeXploiT))));
Sebenarnya gzinflate
berfungsi untuk untuk mengektrak text dari file text yang biasanya dihasilkan dari fungsi gzdeflate
. Namun jika anda lihat potongan script diatas, gzinflate dipakai untuk mengektrak kode berbahaya karena itu kode hacker untuk mengekploitasi server. Oleh karena itu, fungsi ini kita disable agar exploit gagal berjalan.
Langkah langkah mematikan fungsi
Anggaplah kita menggunakan ubuntu dengan php versi 7.4 dimana letak file php.ini ada di /etc/php/7.4/apache2/php.ini
Caranya buka file php.ini dengan perintah
sudo nano /etc/php/7.4/apache2/php.ini
Lalu cari baris ini
disable_functions = ..
Jika baris ini sudah ada isinya maka anda cukup tambahkan gzinflate dibagian paling akhir baris.
Setelah itu restart server apache2 dengan perintah
sudo service apache2 restart
Setelah ini seharusnya semua script yang menggunakan fugnsi gzinflate tidak akan berjalan.
Efek samping
Sebelum anda mematikan fungsi ini, pastikan anda memastikan script php anda tidak pernah memakai fungsi ini. setelah anda matikan pastikan juga buka sistem informasi dan web anda apakah ada menu yang tidak berjalan karena bisa jadi fungsi ini dipakai oleh Library Aplikasi PHP yang anda bangun.