گمیته رکن چهارم – آسیبپذیری هش PHP که Magic Hash نام دارد، در شرایط خاص به هکرها اجازه میدهد تا از سامانههای احراز هویت عبور کنند.
به گزارش کمیته رکن چهارم،بر اساس گزارش محققان امنیتی تمامی سایتها نسبت به این حفره امنیتی آسیبپذیر هستند. مشکل هش زمانی ایجاد میشود که در کد PHP رشتهها توسط != یا == مقایسه میشوند. هنگامیکه هر یک از این دو عملگر رشته را مقایسه میکنند، PHP هر هشی را که با ۰e شروع شود بهعنوان ۰ ارزشگذاری میکند.
اگرچه این آسیبپذیری برای سامانه احراز هویت است اما حفره امنیتی فراموشی رمز عبور، کوکیها، بررسی کد باینری و دیگر موارد را نیز شامل میشود.
تصور رشتهای مانند ۰e… بهعنوان ۰، یعنی PHP رشته را به فرمت Integer تفسیر میکند. بدین ترتیب اگر دو رمز عبور هک شده باشند و هش هر دو با۰e آغاز شود، PHP هردوی آنها را به ارزش ۰ تفسیر میکند و با هر دو بهعنوان عدد ۰ رفتار میکند. بدین ترتیب هکر بهراحتی با واردکردن رشتهای که برای PHP ارزش ۰ دارد، میتواند بهحساب کاربری که در پایگاه داده موجود است دسترسی پیدا کند.
بهمنظور رفع این آسیبپذیری کافی است تا وبسایتها بهجای استفاده از == یا != از عملگرهای === یا !=== استفاده کنند.