محصول PHPGurukul دارای آسیب‌پذیری تزریق SQL می‌باشد. این آسیب‌پذیری در پارامترهای username در index.php و پارامترهای موجود دیگر در این محصول وجود دارد. و باعث دور زدن حساب کاربری ادمین می‌شود.

محصول PHPGurukul دارای آسیب‌پذیری تزریق SQL می‌باشد. این آسیب‌پذیری در پارامترهای username در index.php، پارامتر category و CategoryCode در add-category.php و پارامتر CampanyName در add-company.php و پارامتر ProductName و ProductPrice در add-product.php وجود دارد.

شناسه آسیب­‌پذیری: CVE-2020-5307

سطح ریسک: بحرانی

CVSS:3.1/AV: N/AC: L/PR: N/UI: N/S: U/C: H/I: H/A: H

سیستم­‌های آسیب­‌پذیر:

PHPGurukul Dairy Farm Shop Management System 1.0

نیازمندی تعامل کاربر: خیر

سال شناسایی: ۲۰۲۰

بعد از نصب نرم‌افزار به صورت لوکال، کاربر با یک صفحه خوش آمدید برای وارد شدن مواجه می‌شود. از Burp Suite برای بررسی کردن درخواست صفحه login استفاده می‌کنیم و نتیجه کار را برای اجرا در SQLmap در نظر می‌گیریم.

بعد از ذخیره کردن درخواست در فایل، پارامترهای “Username” و “Password” برای بررسی وجود تزریق SQL استفاده می‌شوند:

Sqlmap -r login.req -dbm=mysql -o

از این طریق SQLmap وجود آسیب‌پذیری در پارامتر “Username” را شناسایی می‌کنیم. همچنین SQLmap ما را متوجه یک درخواست ۳۰۲-redirect می‌کند که نشان دهنده وجود امکان دور زدن احراز هویت در سامانه است.

با این کار کاربر احراز هویت نشده تمام اطلاعات پایگاه داده را بدست می‌آورد و تمام اطلاعات مدیریت سیستم را در اختیار حمله کننده قرار می‌گیرد.

برمی‌گردیم به صفحه ۳۰۲-redirect، در صفحه ورود کاربر از تکنیک ساده ‘۱’ = ‘۱’ برای تزریق به SQL استفاده می‌شود و با دور زدن مکانیزم احراز هویت، به عنوان کاربر ادمین لاگین می‌نماید. در ادامه تصاویر اجرای شناسایی آسیب پذیری ارایه شده است.

شکل ۱ گرفتن درخواست POST
شکل ۲ تزریق نام کاربری با SQL و redirect-302
شکل ۳ محتوای پایگاه داده
شکل ۴ موفق شدن در احراز هویت

منابع

https://nvd.nist.gov/vuln/detail/CVE-2020-5307

https://cinzinga.github.io/CVE-2020-5307-5308