ichwanulfadhli / vigenere-cipher

A Vigenere Cipher library for CodeIgniter
MIT License
3 stars 1 forks source link

Type Juggling #1

Closed zombozo12 closed 4 years ago

zombozo12 commented 4 years ago

https://github.com/ichwanulfadhli/vigenere-cipher/blob/92b4d9ad11ab94de4d4d828ec08f8712d7f8e6d7/Vigenere.php#L44

PHP punya fitur namaya PHP Type Juggling, biasanya digunakan saat menggunakan penkondisian seperti if else dll. PHP akan mengkonversi value ke comparable type.

Variable $key jika memiliki value 0, false, array(), dan "" (empty string) menggunakan operator == di dalam pengkondisian IF ELSE, maka $key akan dianggap sebagai NULL. Contoh: 0 == NULL adalah true array() == NULL adalah true karena array() sebagai default tidak memiliki isi akan ter-define sebagai NULL. Untuk menghindari kejadian yang seharusnya tidak terjadi, dan apabila value yang diinginkan hanyalah NULL, maka saya sarankan menggunakan operator === agar proses perbandingan dapat lebih strict.

References: PHP Type Juggling by Chris Smith PHP.net PHP Type Juggling Vulnerabilities

ichwanulfadhli commented 4 years ago

https://github.com/ichwanulfadhli/vigenere-cipher/blob/92b4d9ad11ab94de4d4d828ec08f8712d7f8e6d7/Vigenere.php#L44

PHP punya fitur namaya PHP Type Juggling, biasanya digunakan saat menggunakan penkondisian seperti if else dll. PHP akan mengkonversi value ke comparable type.

Variable $key jika memiliki value 0, false, array(), dan "" (empty string) menggunakan operator == di dalam pengkondisian IF ELSE, maka $key akan dianggap sebagai NULL. Contoh: 0 == NULL adalah true array() == NULL adalah true karena array() sebagai default tidak memiliki isi akan ter-define sebagai NULL. Untuk menghindari kejadian yang seharusnya tidak terjadi, dan apabila value yang diinginkan hanyalah NULL, maka saya sarankan menggunakan operator === agar proses perbandingan dapat lebih strict.

References: PHP Type Juggling by Chris Smith PHP.net PHP Type Juggling Vulnerabilities

Noted. Makasih ram infonya, btw feel free to contribute!

zombozo12 commented 4 years ago

Dengan senang hati wa