نیاز به توضیح نیست که زبان برنامهنویسی جاوا یکی از پرطرفدارترین زبانهای توسعهٔ وب اپلیکیشنهای اینترپرابز -تجاری در سطح کلان- است و به طور حتم دلایل بسیاری را برای این میزان از محبوبیت میتوان برشمرد اما به طور حتم یکی از دلایل، وجود فریمورکهای متنوع و طراحی شده برای توسعهٔ اپلیکیشنهای اینترپرایز با زبان جاوا است که از آن جمله میتوان به Apache Struts اشاره کرد (Apache Struts یک فریمورک اپنسورس برای توسعهٔ وب اپلیکیشنهای نوشته شده با زبان جاوا است؛ شرکتها از این فریمورک در مقیاس وسیعی برای تولید وب اپلیکیشن در زمینههای آموزشی، دولتی، نرمافزارهای مالی و... استفاده میکنند.) خبر بد اینکه اخیراً باگی در Apache Struts کشف شده که به مهاجم این امکان را میدهد تا بتواند به راحتی کدهای مخرب خود را بر روی وب سرور اجرا کنند. به علت سادگی در سوء استفاده از این باگ نرمافزاری، مهاجمان زیادی درصدد هستند تا از این فرصت استفاده کنند و سرورهایی که هنوز بهروزرسانی نشدهاند را مورد حمله قرار دهند.
این باگ خطرناک که مربوط به مشکل در فریمورک Jakarta Multipart Parser بود، در تاریخ 10 مارس 2017 توسط برنامهنویسان Apache Struts برطرف شد. به گزارش تیم تحقیق و توسعهٔ شرکت سیسکو، چند ساعت پس از آشکار شدن این باگ، شاهد ظاهر شدن اکسپلویتهایی در سایتهای چینی برای سوء استفاده از این باگ بودیم که بلافاصله پس از آن، حمله به سرورهایی که دارای این آسیبپذیری بودند شروع شد.
این آسیبپذیری به سادگی قابل اکسپلویت شدن است و به مهاجم این امکان را میدهد که بتواند دستورات سیستمی را تحت مجوز کاربری که این وب سرور تحت آن اجرا میشود اجرا کند. اوضاع زمانی وخیمتر میشود که این وب سرور تحت دسترسی کاربر روت اجرا شود که در این صورت سرور کاملاً در اختیار مهاجم قرار میگیرد و امکان انجام هر کاری را به مهاجم میدهد!
بدتر از آن این است که حتی نیازی نیست در وب اپلیکیشن کامپوننت آپلود فایل موجود در Jakarta مورد استفاده قرار گرفته باشد تا باعث این آسیبپذیری شود بلکه بر اساس گفتهٔ یک محقق امنیتی، همین که این کامپوننت در فریمورک به صورت پیشفرض قرار دارد، کافی است تا این آسیبپذیری بهوجود بیاید (لازم به ذکر است که امکان بهره برداری از این باگ به شدت زیاد است بنابراین هرچه سریعتر اقدام به بروز رسانی فریم ورک نمایید؛ درواقع، شرکتهایی که از Apache Struts در وب سرورهای خود استفاده میکنند باید هرچه سریعتر این فریم ورک را به نسخه 2.3.32 یا 2.5.10.1 بروز رسانی کنند.)
در این رابطه، محققان شرکت سیسکو گفتند که ما شاهد حجم عظیمی از حملاتی که بر پایهٔ این آسیبپذیری صورت میگیرد هستیم؛ بعضی از مهاجمان تنها از دستور whoami برای پی بردن به سطح دسترسی که بهدست آوردهاند استفاده میکنند اما برخی دیگر پا را از این فراتر گذاشته و اقدام به از کار انداختن فایروال سیستم میکنند و یک فایل اجرایی را بر روی سرور دانلود و اجرا می کنند. برنامههایی که عمدتا مهاجم اقدام به نصب آنها میکند عبارتند از: IRC bouncer ،Dos bot ،billgates botnet.
بر اساس گفتههای یک محقق امنیت اسپانیایی، در حال حاضر 35 میلیون وبسایت وجود دارند که توسط گوگل ایندکس شدهاند و قابلیت پذیرفتن این نوع آپلود خاص یعنی filetype:action را دارند و درصد قابل توجهی از آنها قابل اکسپلوییت شدن هستند. این حمله، حملهای بیسابقه است که درست بلافاصله پس از اعلان آسیبپذیری توسط مهاجمان مورد حمله قرار گرفته است. هنوز مشخص نیست که آیا اکسپلوییتی تا قبل از تاریخی که این باگ فیکس شود وجود داشته یا خیر.
کاربرانی که نمیتوانند Apache Struts خود را بهروزرسانی نمایند میتوانند با ایجاد یک Servlet filter که هر ورودی به غیر از multipart/form-data را قبول نکند، مقادیر ورودی را کنترل کرده و نگذارند اکسپلوییت اجرا شود. البته راهحل دیگری هم وجود دارد و آن هم این است که از فایروالی استفاده نمایید که اینگونه ورودیها را در لحظه دراپ کند.