افزونه محبوب Fluent Forms Contact Form Builder برای وردپرس، با بیش از 300000 نصب، حاوی یک آسیب پذیری تزریق SQL است که می تواند به هکرها اجازه دسترسی به پایگاه داده را بدهد.
Fluent Forms Contact Form Builder
Fluent Forms Contact Form Builder یکی از محبوب ترین فرم های تماس برای وردپرس است که بیش از 300000 نصب دارد.
رابط کشیدن و رها ، آن ایجاد فرم های تماس سفارشی را آسان می کند تا کاربران مجبور نباشند کدنویسی را یاد بگیرند.
توانایی استفاده از افزونه برای ایجاد تقریباً هر نوع فرم ورودی، آن را به یک انتخاب برتر تبدیل می کند.
کاربران می توانند از این افزونه برای ایجاد فرم های اشتراک، فرم های پرداخت و فرم های ایجاد آزمون استفاده کنند.
به علاوه، با برنامه های شخص ثالث مانند MailChimp، Zapier و Slack ادغام می شود.
نکته مهم این است که قابلیت تجزیه و تحلیل بومی نیز دارد.
این انعطافپذیری باورنکردنی Fluent Forms را به یک انتخاب برتر تبدیل میکند، زیرا کاربران تنها با یک افزونه میتوانند کارهای زیادی انجام دهند.
خنثی سازی ورودی
هر افزونهای که به بازدیدکنندگان سایت اجازه میدهد مستقیماً دادهها را به پایگاه داده وارد کنند، مخصوصاً فرمهای تماس، باید این ورودیها را بهگونهای پردازش کند که به طور سهوی به هکرها اجازه ورود اسکریپتها یا دستورات SQL را ندهد که به کاربران مخرب اجازه ایجاد تغییرات غیرمنتظره را میدهد.
این آسیبپذیری خاص، افزونه Fluent Forms را به روی آسیبپذیری تزریق SQL باز میکند که اگر هکری در تلاشهایش موفق شود، بسیار جدی است.
آسیب پذیری تزریق SQL
SQL که مخفف عبارت Structured Query Language است، زبانی است که برای تعامل با پایگاه های داده استفاده می شود.
پرس و جوی SQL فرمانی برای دسترسی، اصلاح یا سازماندهی داده های ذخیره شده در پایگاه داده است.
پایگاه داده چیزی است که شامل همه چیزهایی است که برای ایجاد یک وب سایت وردپرس استفاده می شود، مانند رمزهای عبور، محتوا، تم ها و افزونه ها.
پایگاه داده قلب و مغز یک سایت وردپرسی است.
در نتیجه، توانایی “پرس و جو” خودسرانه یک پایگاه داده سطح فوق العاده ای از دسترسی را تشکیل می دهد که مطلقاً نباید برای کاربران یا نرم افزارهای غیرمجاز خارج از وب سایت در دسترس باشد.
حمله تزریق SQL زمانی اتفاق میافتد که یک مهاجم مخرب بتواند از یک رابط ورودی قانونی برای درج یک فرمان SQL استفاده کند که میتواند با پایگاه داده تعامل داشته باشد.
پروژه غیرانتفاعی Open Worldwide Application Security Project (OWASP) توصیف ، پیامدهای مخرب آسیبپذیری تزریق SQL:
- حملات تزریق SQL به مهاجمان امکان جعل هویت، جعل دادههای موجود، ایجاد مشکلات انکار مانند بازگرداندن تراکنشها یا تغییر موجودی، امکان افشای کامل تمام دادههای سیستم، تخریب دادهها یا غیرقابل دسترس ، آنها و تبدیل شدن به مدیران پایگاه داده را میدهد. سرور
- تزریق SQL در برنامههای PHP و ASP به دلیل غلبه رابطهای کاربردی قدیمیتر بسیار رایج است. با توجه به ماهیت رابط های برنامه نویسی موجود، برنامه های J2EE و ASP.NET احتمال کمتری دارند که به راحتی از تزریق SQL استفاده کنند.
- شدت حملات تزریق SQL توسط مهارت و تخیل مهاجم و تا حدی با اقدامات متقابل عمیق دفاعی مانند اتصالات با امتیاز پایین به سرور پایگاه داده و غیره محدود می شود. به طور کلی، تزریق SQL را دارای تاثیر بالا در نظر بگیرید.
خنثی سازی نامناسب
پایگاه داده آسیبپذیری ایالات متحده (NVD) توصیهای درباره آسیبپذیری منتشر کرده است که دلیل این آسیبپذیری را «خنثیسازی نامناسب» توصیف کرده است.
خنثی سازی به فرآیندی اطلاق می شود که اطمینان حاصل شود هر چیزی که وارد یک برنامه کاربردی می شود (مانند فرم تماس) به آنچه مورد انتظار است محدود می شود و اجازه نمی دهد چیزی غیر از آنچه انتظار می رود.
خنثی ، صحیح یک فرم تماس به این معنی است که اجازه دستور SQL را نمی دهد.
پایگاه داده آسیب پذیری ایالات متحده آسیب پذیری را توصیف می کندآره :
آسیبپذیری «خنثیسازی نامناسب عناصر ویژه مورد استفاده در یک فرمان SQL («تزریق SQL») در فرم تماس – افزونه فرم تماس WPManageNinja LLC – سریعترین افزونه فرمساز تماس برای وردپرس توسط Fluent Forms fluentform امکان تزریق SQL را میدهد.
این مشکل افزونه فرم تماس را تحت تأثیر قرار می دهد – سریع ترین افزونه سازنده فرم تماس برای وردپرس توسط Fluent Forms: از n/a تا 4.3.25. »
شرکت امنیتی Patchstack این آسیب پذیری را کشف و به توسعه دهندگان این افزونه گزارش داد.
مطابق با پشته پچ:
این می تواند به یک عامل مخرب اجازه دهد تا مستقیماً با پایگاه داده شما تعامل داشته باشد، از جمله سرقت اطلاعات، اما محدود به آن نیست.
این آسیب پذیری در نسخه 5.0.0 رفع شده است.
اگرچه مشاوره Patchstack بیان میکند که این آسیبپذیری در نسخه 5.0.0 برطرف شده است، اما مطابق با تغییرات ثبتنام Fluent Form Contact Form Builder، جایی که تغییرات ایجاد شده در نرمافزار به طور مرتب ثبت میشود، هیچ نشانهای از وصله امنیتی وجود ندارد.
این سازنده فرم تماس با Fluent Forms است تغییرات ثبت شده ورودی نسخه 5.0.0:
- “5.0.0 (تاریخ: 22 ژوئن 2023)
UI اصلاح شده و UX بهتر- بهبود کلی استایلر
- چارچوب جدید برای پاسخ سریعتر
- رفع مشکل عدم نمایش صحیح فیلد تکرارکننده در PDF
- رفع مشکل عدم انتقال صحیح فیلدهای متنی به فیلدهای ورودی متن با حداکثر طول متن صحیح توسط WPForm Migrator
- مشکل مهاجرت ورودی برطرف شد
- فرمت شماره ثابت در فایل های PDF
- مشکل برچسب میدان رادیویی رفع شد
- مسیرهای آژاکس به مسیرهای استراحت به روز شد
- قرارداد نامگذاری فیلتر و قلاب عمل با پشتیبانی از قلاب های قدیمی به روز شد
- رشته های ترجمه به روز شده »
این امکان وجود دارد که یکی از این ورودی ها راه حل باشد. اما برخی از توسعه دهندگان پلاگین به هر دلیلی می خواهند اصلاحات امنیتی را مخفی نگه دارند.
توصیه ها:
به کاربران فرم تماس توصیه می شود در اسرع وقت افزونه خود را به روز کنند.
تصویر مشخص شده توسط Shutterstock/Kues
منبع: https://www.searchenginejournal.com/fluent-forms-contact-form-plugin-vulnerability/500061/