Menurut Kinsta, 79,2% dari semua situs web mengandalkan PHP sampai taraf tertentu. Meskipun PHP adalah salah satu bahasa pemrograman pengembangan web tertua, namun masih sangat populer dan digunakan secara luas. Seperti bahasa atau framework lain, PHP juga rentan terhadap serangan. Dengan penggunaan PHP yang luas, dampak dari eksploitasi kerentanan keamanan PHP terlalu tinggi Untuk membantu Anda dalam hal ini, kami akan membahas tentang 6 kerentanan keamanan utama PHP dan cara memperbaikinya.

1. Secrets

Aplikasi web berurusan dengan banyak informasi sensitif seperti kata sandi, kunci SSH, kunci API, dll. Jika jatuh ke tangan yang salah, konsekuensinya bisa menjadi bencana besar. Oleh karena itu, penting untuk menangani informasi sensitif dengan aman. Salah satu cara paling sederhana yang digunakan penyerang untuk menemukan rahasia adalah dengan memasukkannya ke dalam kode. Bersamaan dengan itu, rahasia dalam transit juga dapat diakses dengan mencegat lalu lintas.

Ada beberapa cara untuk melakukan Secrets:

2. Vulnerable Libraries

Menurut daftar, ada lebih dari 20.000 library untuk PHP. Sehingga pengembang menggunakan beberapa library PHP  ke dalam aplikasi. Namun jika library ini rentan, hal ini menjadi pembuka celah pada aplikasi yang dibuat. Ada 2 cara mengurangi risiko dari library yang rentan

3. SQL Injections

Injeksi SQL adalah jenis kerentanan injeksi kode di mana penyerang mengirimkan input berbahaya ke aplikasi untuk melakukan kueri SQL berbahaya. Ada berbagai jenis injeksi SQL:

Ada beberapa cara Memperbaiki Kerentanan Injeksi SQL

4. Command Injection

Command Injection adalah kerentanan yang memungkinkan penyerang menjalankan perintah shell sewenang-wenang pada sistem dengan membuat masukan berbahaya ke aplikasi. Command Injection terjadi ketika aplikasi PHP memanggil shell sistem. Mari kita ambil contoh dimana aplikasi PHP menggunakan utilitas ping dari sistem. Aplikasi mengambil nama host atau IP sebagai input, menggunakan fungsi seperti exec(), passthru(), atau system(), dan meneruskan input ke utilitas ping sistem, dan menampilkan output.

Cara Memperbaiki Kerentanan Command Injection

5. Cross-Site Scripting

Cross-site Scripting adalah kerentanan yang memungkinkan penyerang untuk mengeksekusi skrip sisi browser sewenang-wenang dengan menyusun masukan berbahaya. Ini adalah kerentanan yang memengaruhi pengguna akhir aplikasi. Ada 3 jenis utama skrip lintas situs:

Ada 3 Cara Memperbaiki Kerentanan Scripting Lintas Situs, antara lain:

6. Insecure Deserialization

PHP menggunakan serialisasi untuk mengubah objek menjadi aliran byte dan deserialisasi untuk mengubah aliran byte kembali ke objek. Meskipun ini membantu menyimpan atau meneruskan nilai tanpa kehilangan jenis dan strukturnya, ini menyisakan ruang untuk kerentanan deserialisasi yang tidak aman. Cara memperbaiki Insecure Deserialization adalah sebagai berikut

Sumber : Security Boulevard, 6 Major PHP Security Vulnerabilities And How To Fix Them