آسیب پذیری در فرم های روان افزونه وردپرس فرم تماس

افزونه محبوب Fluent Forms Contact Form Builder برای وردپرس، با بیش از 300000 نصب، حاوی یک آسیب پذیری SQL Injection است که می تواند به هکرها اجازه دسترسی به پایگاه داده را بدهد.

Fluent Forms Contact Form Builder

Fluent Forms Contact Form Builder یکی از محبوب ترین فرم های تماس برای وردپرس است که بیش از 300000 نصب دارد.

رابط کشیدن و رها کردن آن ایجاد فرم های تماس سفارشی را آسان می کند تا کاربران مجبور نباشند نحوه کدنویسی را یاد بگیرند.

امکان استفاده از افزونه برای ایجاد هر نوع فرم ورودی، آن را به یک انتخاب برتر تبدیل می کند.

کاربران می توانند از این افزونه برای ایجاد فرم های اشتراک، فرم های پرداخت و فرم هایی برای ایجاد آزمون ها استفاده کنند.

به علاوه با برنامه های شخص ثالث مانند MailChimp، Zapier و Slack ادغام می شود.

نکته مهم این است که قابلیت تجزیه و تحلیل بومی نیز دارد.

این انعطاف‌پذیری باورنکردنی Fluent Forms را به یک انتخاب برتر تبدیل می‌کند، زیرا کاربران می‌توانند تنها با یک افزونه کارهای زیادی انجام دهند.

خنثی سازی ورودی

هر افزونه‌ای که به بازدیدکنندگان سایت اجازه می‌دهد مستقیماً داده‌ها را به پایگاه داده وارد کنند، مخصوصاً فرم‌های تماس، باید این ورودی‌ها را پردازش کنند تا سهواً به هکرها اجازه ورود اسکریپت‌ها یا دستورات SQL را ندهند که به کاربران مخرب اجازه ایجاد تغییرات غیرمنتظره را می‌دهد.

این آسیب‌پذیری خاص باعث می‌شود که افزونه Fluent Forms به روی یک آسیب‌پذیری تزریق SQL باز شود که اگر یک هکر در تلاش‌های خود موفق باشد بد است.

آسیب پذیری SQL Injection

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

پرس و جوی SQL فرمانی برای دسترسی، تغییر یا سازماندهی داده هایی است که در پایگاه داده ذخیره می شوند.

پایگاه داده چیزی است که شامل همه چیزهایی است که برای ایجاد یک وب سایت وردپرس استفاده می شود، مانند رمزهای عبور، محتوا، تم ها و افزونه ها.

پایگاه داده قلب و مغز یک وب سایت وردپرسی است.

در نتیجه، توانایی “پرس و جو” خودسرانه یک پایگاه داده سطح فوق العاده ای از دسترسی است که مطلقاً نباید برای کاربران یا نرم افزارهای غیرمجاز خارج از وب سایت در دسترس باشد.

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

پروژه غیرانتفاعی Open Worldwide Application Security Project (OWASP) پیامدهای مخرب آسیب‌پذیری تزریق SQL را شرح می‌دهد:

  • حملات تزریق SQL به مهاجمان اجازه می‌دهد هویت را جعل کنند، داده‌های موجود را دستکاری کنند، مشکلاتی مانند ابطال تراکنش‌ها یا تغییر تعادل ایجاد کنند، اجازه افشای کامل همه داده‌های موجود در سیستم، تخریب داده‌ها یا غیرقابل دسترس کردن آن‌ها را بدهند، و مدیران آن‌ها شوند. سرور پایگاه داده
  • SQL Injection در برنامه های PHP و ASP به دلیل رواج رابط های کاربردی قدیمی بسیار رایج است. با توجه به ماهیت رابط های برنامه نویسی موجود، برنامه های J2EE و ASP.NET کمتر احتمال دارد که به راحتی از تزریق SQL سوء استفاده کنند.
  • شدت حملات SQL Injection به مهارت و تخیل مهاجم و تا حدی کمتر، دفاع در اقدامات متقابل عمیق، مانند اتصالات با امتیاز پایین به سرور پایگاه داده و غیره محدود می شود. به طور کلی، SQL Injection را یک شدت تاثیر بالا در نظر بگیرید.

خنثی سازی نامناسب

پایگاه داده آسیب‌پذیری ایالات متحده (NVD) توصیه‌ای درباره این آسیب‌پذیری منتشر کرد که دلیل این آسیب‌پذیری را «خنثی‌سازی نامناسب» توصیف کرد.

خنثی‌سازی اشاره‌ای به فرآیندی است برای اطمینان از اینکه هر چیزی که در یک برنامه وارد می‌شود (مانند فرم تماس) به چیزی که انتظار می‌رود محدود می‌شود و اجازه نمی‌دهد چیزی غیر از آنچه انتظار می‌رود.

خنثی سازی مناسب فرم تماس به این معنی است که اجازه دستور SQL را نمی دهد.

پایگاه داده آسیب پذیری ایالات متحده این آسیب پذیری را شرح داده است:

«خنثی‌سازی نادرست عناصر ویژه مورد استفاده در آسیب‌پذیری SQL Command («تزریق SQL») در فرم تماس – افزونه فرم تماس WPManageNinja LLC – سریع‌ترین پلاگین فرم‌ساز تماس برای وردپرس توسط Fluent Forms fluentform امکان تزریق SQL را می‌دهد.

این مشکل بر افزونه فرم تماس – سریعترین افزونه فرم ساز تماس برای وردپرس توسط Fluent Forms: از n/a تا 4.3.25 تأثیر می گذارد.

شرکت امنیتی Patchstack آسیب پذیری را کشف و به توسعه دهندگان افزونه گزارش داد.

طبق Patchstack:

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

این آسیب پذیری در نسخه 5.0.0 رفع شده است.

اگرچه مشاوره Patchstack بیان می‌کند که این آسیب‌پذیری در نسخه 5.0.0 برطرف شده است، اما طبق گزارش تغییرات Fluent Form Contact Form Builder، که در آن تغییرات نرم‌افزار به طور معمول ثبت می‌شود، هیچ نشانه‌ای مبنی بر رفع امنیتی وجود ندارد.

این ورودی تغییرات Log Form Contact Form Builder Fluent Forms برای نسخه 5.0.0 است:

  • “5.0.0 (تاریخ: 22 ژوئن 2023)
    UI اصلاح شده و UX بهتر
  • بهبود جهانی استایلر
  • چارچوب جدید برای پاسخ سریعتر
  • رفع مشکل عدم نمایش صحیح فیلد تکرارکننده در PDF
  • رفع مشکل عدم انتقال صحیح فیلدهای متنی به فیلدهای ورودی متن با حداکثر طول متن صحیح توسط WPForm Migrator
  • مشکل مهاجرت ورودی برطرف شد
  • فرمت شماره ثابت در فایل های PDF
  • مشکل برچسب میدان رادیویی رفع شد
  • به روز رسانی مسیرهای آژاکس به مسیرهای استراحت
  • فیلتر و کنوانسیون نامگذاری قلاب های اکشن به روز شده با پشتیبانی از قلاب های قدیمی
  • رشته های ترجمه به روز شده»

آسیب پذیری در فرم های روان افزونه وردپرس فرم تماس

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

توصیه ها:

توصیه می شود که کاربران فرم تماس در اسرع وقت افزونه خود را به روز کنند.

تصویر برجسته توسط Shutterstock/Kues