phpMyAdmin

یک آسیب‌پذیری امنیتی بحرانی در phpMyAdmin، یکی از محبوب‌ترین برنامه‌های مدیریت پایگاه داده MySQL، گزارش شده است که می‌تواند مهاجمانِ از راه دور را فقط با فریب مدیران و کلیک کردن بر روی یک لینک، قادر به انجام عملیات پایگاه داده خطرناک کند.

این آسیب‌پذیری که توسط Ashutosh Barot که یک محقق امنیتی در هند است[۱]، کشف شده است، یک آسیب‌پذیری حمله جعل درخواست cross-site یا CSRF است(۱) و بر روی نسخه phpMyAdmin 4.7.x (نسخه‌های قبل از ۴٫۷٫۷) تأثیر می‌گذارد.

آسیب‌پذیری جعل درخواست Cross-site، که به‌عنوان XSRF شناخته می‌شود، حمله‌ای است که در آن حمله‌کننده یک کاربر معتبر را به اجرای یک اقدام ناخواسته ترغیب می‌کند.

در گزارشی که توسط phpMyAdmin منتشر شده آمده است[۲]: “با فریب دادن یک کاربر به کلیک بر روی یک آدرس طراحی‌شده، ممکن است عملیات پایگاه داده مخرب مانند حذف رکوردها، حذف(۲) یا بریدن(۳) جداول و غیره انجام شود.”

phpMyAdmin یک ابزار مدیریت منبع آزاد و رایگان برای MySQL و MariaDB است و به‌طور گسترده‌ای برای مدیریت پایگاه‌های داده‌ی وب‌سایت‌های ایجادشده با WordPress، جوملا و بسیاری دیگر از سیستم‌های مدیریت محتوا استفاده می‌شود.

علاوه بر این، بسیاری از ارائه‌دهندگان خدمات میزبانی وب از phpMyAdmin استفاده می‌کنند تا به مشتریان خود راه مناسبی برای سازمان‌دهی پایگاه‌های داده‌شان ارائه دهند.

 Barot همچنین یک ویدیو را منتشر کرده است[۳] که نشان می‌دهد چگونه یک مهاجم از راه دور می‎تواند مدیران پایگاه داده را فقط با فریب دادن آن‌ها به کلیک بر روی یک لینک خاص ساخته‌شده وادار کند تا به‌طور ناخودآگاه یک جدول کامل از پایگاه داده را پاک کنند.

Barot در گزارش خود توضیح می‌دهد[۴]: “یک ویژگی از phpMyAdmin از یک درخواست GET استفاده کرده و پس‌ازآن درخواست POST برای عملیات پایگاه داده مانند DROP TABLE table_name، درخواست‌های GET باید در برابر حملات CSRF محافظت شوند. در این مورد از درخواست‌های POST که از طریق URL فرستاده می‌شود (به‌منظورbookmark کردن)؛ این امکان وجود دارد که یک مهاجم یک مدیر پایگاه داده را فریب دهد تا بر روی یک گزینه کلیک کند و یک درخواست حذف جدول پایگاه داده را که توسط مهاجم انتخاب شده است را اجرا کند.”

بااین‌حال، انجام این حمله آن‌طور که به نظر می‌رسد ساده نیست. برای تهیه یک URL حمله CSRF، مهاجم باید از نام پایگاه داده و جدول مورد هدف آگاهی داشته باشد.

Barot دراین‌باره می‌گوید: “اگر یک کاربر یک query را در پایگاه داده با کلیک کردن بر روی دکمه‌های insert، DROP و غیره اجرا کند، URL به‌دست‌آمده حاوی نام پایگاه داده و نام جدول خواهد بود. این آسیب‌پذیری می‌تواند منجر به افشای اطلاعات حساس شود چراکه این URL در مکان‌های مختلف مانند تاریخچه مرورگر، logهای مربوط به SIEM، logهای مربوط به فایروال، logهای ISP و غیره  ذخیره می‌شود.”

Barot این آسیب‌پذیری را به توسعه‌دهندگان phpMyAdmin گزارش کرد که یافته‌های او را تائید کردند و phpMyAdmin  نسخه ۴٫۷٫۷را برای حل این مسئله منتشر کردند. بنابراین به مدیران به‌شدت توصیه می‌شود تا در اسرع وقت این به‌روزرسانی‌ها را بر روی سیستم خود اجرا کنند.

منابع

[۱] https://www.linkedin.com/in/ashutoshbarot

[۲] https://www.phpmyadmin.net/security/PMASA-2017-9

[۳] https://youtu.be/aao8fP4uZoM

[۴]http://cyberworldmirror.com/vulnerability-phpmyadmin-lets-attacker-perform-drop-table-single-click

[۵] https://thehackernews.com/2018/01/phpmyadmin-hack.html


(۱) cross-site request forgery
(۲) dropping
(۳) truncating