گزارش و جزئیات باگ امنیتی لایتاسپید
![گزارش و جزئیات باگ امنیتی لایتاسپید گزارش و جزئیات باگ امنیتی لایتاسپید](https://parswebserver.com/wp-content/uploads/2024/08/litespeed-cache-50x50.png)
در این پست آموزشی پارس وب سرور، در مورد یکی از نقاط ضعف و باگ امنیتی لایتاسپید، در برخی ورژنها که منجر به هک وب سایت وردپرسی می شود مطالبی را بیان کنیم.
با ما در ادامه پست همراه باشید.
افزونه لایتاسپید کش (LiteSpeed Cache) یک افزونه رایگان و اپنسورس وردپرس است که از طریق مخزن وردپرس قابل دریافت و نصب میباشد و طبق آمارهای دانلود وردپرس، بیش از 5 میلیون نصب موفق داشته است. (صفحه افزونه در مخزن وردپرس)
این افزونه، برای بهبود سرعت وبسایتهای وردپرسی با ایجاد کشهای سمت سرور و مجموعهای از بهینهسازیها برای فایلهای ضروری وبسایت مورد استفاده قرار میگیرد. با این آمار نصب موفق، تعداد زیادی از وبسایتهای وردپرسی در معرض خطر قرار گرفتهاند.
باگ امنیتی لایتاسپید کشف شده ، باعث ایجاد آسیب پذیری میشود که وبسایتهای وردپرسی را در خطر میاندازد و امکان در دست گرفتن مدیریت وردپرس توسط نفوذگر وجود دارد.
نفوذگرها از طریق این حفره امنیتی خطرناک میتوانند بر روی تمام وبسایتهای وردپرسی که افزونه کش لایتاسپید نصب شده است، به صورت غیر مجاز یک حساب ادمین با دسترسی مدیر ایجاد کنند و مدیریت وبسایت را در دست بگیرند.
این باگ امنیتی لایت اسپید، در نسخههای 1.9 تا نسخه 6.3.0.1 گزارش شده است و باید هر چه سریع تر به ورژن 6.4 آپدیت شود.
این آسیب پذیری در افزونه کش لایتاسپید با کد CVE-2024-28000 ثبت شده است و در ورژن 6.4 افزونه کش لایتاسپید نیز برطرف شده است.
برای رفع این مشکل آسیبپذیری اکیدا توصیه میشود که هر چه سریعتر ، افزونه را به ورژن 6.4 بروز کنید.
در این آسیب پذیری، مهاجم میتوانست یک کاربر با سطح دسترسی مدیر کل برای وبسایت وردپرسی ایجاد کند.
همچنین مهاجم میتوانست افزونه های آلوده دلخواه را بدون اطلاع و اجازه مدیر اصلی وبسایت، نصب کند و یا تنظیمات اصلی و حیاتی وبسایت را تغییر دهد.
همینطور شخص مهاجم میتوانست تمام ترافیک را به وبسایتهای اسپم دلخواه خود ریدایرکت کند و یا برای تمام کاربران وبسایت هرزنامههای تبلیغاتی ارسال کند و تمام اطلاعات حساس کاربران را دانلود و برای فروش قرار دهد.
با توجه به اینکه این افزونه 5 میلیون نصب موفق داشته است از زمان اعلام این آسیب پذیری 2.8 میلیون کاربر اقدام به دریافت و بروزرسانی ورژن جدید کردهاند و این بدان معنی هست که هنوز حدود 2.2 میلیون وبسایت مستعد این آسیب پذیری هستند.
آسیب پذیری و باگ امنیتی افزونه کش لایتاسپید
این آسیب پذیری در افزونه کش به دلیل سطح پایین امنیت مقدار هش شده یکی از مقادیر مربوط به این افزونه، در دیتابیس به وجود آمده است.
افزونه کش لایتاسپید، برای بهبود سرعت وبسایت، یک کراولر (crawler) یا خزشگر داخلی دارد که به صورت زمانبندی شده صفحات وبسایت را باز و کش میکند.
برای انجام این کار، این کراولر باید مشابه یه کاربر وردپرس لاگین شده که یک ID خاصی دارد، در سایت اقدام به باز کردن صفحات کند.
برای انجام این کار، افزونه دو مقدار litespeed_role,litespeed_hash را به عنوان مقادیر کوکی برای یوزر که خودش تعریف کرده است، در دیتابیس وبسایت اضافه میکند.
در ادامه افزونه لایتاسپید یوزر وردپرسی که وظیفه کراول وبسایت را دارد، توسط تابع wp_set_current_user به عنوان کاربر جاری به وردپرس معرفی میکند.
مشکل از جایی شروع میشود که کد هش litespeed_hash که توسط افزونه و به کمک تابع ()Str::rrand ایجاد میشود، امنیت لازم را ندارد و به راحتی شکسته میشود.
از جمله مشکلاتی که این کد هش شده دارد میتوان به موارد زیر اشاره کرد :
1- کد هش ایجاد شده در این روش بر اساس میکروثانیه (microsecond) زمان فعلی ایجاد میشود. این مفهوم یعنی اینکه مقدار هش شده فقط میتواند 999,999 حالت مختلف داشته باشد.
میتوان نتیجه گرفت که عدد تولید شده به روش بالا به اندازه کافی غیر قابل پیش بینی و غیر قابل حدس نیست و به بیان دیگر به قدر کافی قوی نیست.
2- کلید هش ایجاد شده فقط یک بار تولید میشود و با عنوان litespeed.router.hash در دیتابیس ذخیره میشود. این مقدار بدون هیچ تبدیل و یا رمزنگاری دیگری در دیتابیس ذخیره میشد.
یکی از مشکلات و ضعفها این بود که این کلید امنیتی هش شده فقط کافی بود یک بار تولید شود و دیگر هرگز تغییر نمیکرد.
3- با تمام تفاسیر و توضیحات بالا، برای نفوذ به یک وبسایت وردپرسی که کش لایتاسپید نصب بود و کراولر آن فعال شده بود، فقط 1 میلیون مقدار ممکن برای کلید امنیتی وجود داشت و در نتیجه قابل شکستن میباشد.
با توجه به اینکه کلید امنیتی بعد از ایجاد هرگز تغییر نمیکرد، فقط نیاز است که این 1 میلیون کد هش امنیتی ساخته و با هش موجود در دیتابیس مطابقت داده شود. لذا در زمانی بین چند ساعت الی یک هفته، کلید امنیتی litespeed_hash توسط فرد مهاجم پیدا میشود.
درخواستها به اندپوینت /wp/v2/users که بخش از REST API وردپرس است ارسال میشود.
با توجه به اینکه در اکثر وبسایتهای وردپرسی، آی دی ادمین اصلی وردپرس 1 است و با کشف کلید امنیتی لایتاسپید، فرد مهاجم میتواند با این سطح از دسترسیها، با استفاده از REST API ، درخواست ایجاد یک کاربر جدید با سطح دسترسی ادمین به وردپرس ارسال کند و بعد از ایجاد شدن این کاربری، با دسترسیهای ساخته شده به وبسایت لاگین کند.
علاوه بر این ضعف دیگری هم که در این افزونه وجود داشت این بود که اگر تنظیمات Debug Log افزونه فعال بود، تمام هشهای امنیتی تست شده غیرقابل استفاده در لاگ debug.log در فولدر /wp-content/ ذخیره میشد که میتوانست به پیدا کردن سریع تر کد هش شده به فرد مهاجم کمک کند.
بروز رسانیهای لایتاسپید کش برای رفع این باگ امنیتی:
این ضعف امنیتی به دلیل کلید هش با امنیت بسیار پایین بود. برای همین تیم توسعه افزونه، تغییرات زیر را برای رفع این مشکل در نسخه 6.4 اضافه کردند:
1- اضافه کردن آپشن جدیدی به نام async_call-hash در تابع ()Router::async_litespeed_handler
2- اضافه کردن مقدار litespeed_flash_hash یک بار مصرف که بعد از اعتبار سنجی حذف میشود و بعد از ایجاد فقط 120 ثانیه اعتبار دارد.
3- استفاده از طول رشته 32 کاراکتری و تصادفی برای مقادیر litespeed_hash,litespeed_flash_hash,async_call-hash تا حدس زدن و پیدا کردن آنها سخت تر و غیر ممکن شود.
4- با هر بار کراول صفحات، کلید هش مجددا ساخته میشود.
لیست کامل تغییرات در ورژن جدید لایتاسپید در این صفحه قابل مشاهده است.
با توجه به این آسیب پذیری پیشنهاد می شود در اسرع وقت این افزونه بروزرسانی شود.
یا در صورت نیاز این افزونه از روی وبسایت حذف و مجدد نسخه جدید آن بر روی وبسایت نصب و کانفیگ شود.
برای پیشگیری از مشکلات احتمالی، حتما قبل از بروزرسانی و یا نصب مجدد، فول بک آپ تهیه و دانلود کنید.
![آموزش فعال سازی SSL در هاست آموزش فعال سازی SSL در هاست](https://parswebserver.com/wp-content/uploads/2020/02/ip4-2.jpg)
![ساخت دیتابیس مونگو دی بی و اتصال به studio 3t ساخت دیتابیس مونگو دی بی و اتصال به studio 3t](https://parswebserver.com/wp-content/uploads/2020/09/MongoDB-3.png)
![فعال کردن extension های php در cPanel فعال کردن extension های php در cPanel](https://parswebserver.com/wp-content/uploads/2023/01/php-415x235.jpg)
![جلوگیری از ارتباط لینک های خارجی پیشخوان وردپرس جلوگیری از ارتباط لینک های خارجی پیشخوان وردپرس](https://parswebserver.com/wp-content/uploads/2022/10/wp-02-415x235.jpg)
![مشاهده لاگ های سایت در Raw Access سی پنل مشاهده لاگ های سایت در Raw Access سی پنل](https://parswebserver.com/wp-content/uploads/2022/09/raw-06-415x235.jpg)
![معرفی سرویس Webalizer در سی پنل معرفی سرویس Webalizer در سی پنل](https://parswebserver.com/wp-content/uploads/2022/08/Webalizer-02-376x235.jpg)
![معرفی سرویس آمار سی پنل Awstats معرفی سرویس آمار سی پنل Awstats](https://parswebserver.com/wp-content/uploads/2022/08/Awstats-01-415x235.jpg)
![معرفی سرویس Virus Scanner در سی پنل معرفی سرویس Virus Scanner در سی پنل](https://parswebserver.com/wp-content/uploads/2022/08/scan-02-293x235.jpg)
![معرفی قابلیت Track DNS در سرویسهای سی پنل معرفی قابلیت Track DNS در سرویسهای سی پنل](https://parswebserver.com/wp-content/uploads/2022/08/dns-05-415x235.jpg)
![معرفی بخش BoxTrapper در سی پنل معرفی بخش BoxTrapper در سی پنل](https://parswebserver.com/wp-content/uploads/2022/08/bt-01-415x235.jpg)
![قابلیت Greylisting در سی پنل قابلیت Greylisting در سی پنل](https://parswebserver.com/wp-content/uploads/2022/08/Greylisting-01-415x235.jpg)
![آموزش مسدود سازی IP با استفاده از IP Blocker سی پنل آموزش مسدود سازی IP با استفاده از IP Blocker سی پنل](https://parswebserver.com/wp-content/uploads/2022/08/ip-1-415x235.jpg)
![ایجاد رکوردهای DNS در ZoneEditor سی پنل ایجاد رکوردهای DNS در ZoneEditor سی پنل](https://parswebserver.com/wp-content/uploads/2022/07/dns-415x235.jpg)
![بررسی Bandwidth در سرویس سی پنل بررسی Bandwidth در سرویس سی پنل](https://parswebserver.com/wp-content/uploads/2022/07/bw-415x235.jpg)
![کد EPP چیست کد EPP چیست](https://parswebserver.com/wp-content/uploads/2022/06/EPP-415x235.jpg)
![جلوگیری از دریافت ایمیل های خاص در سی پنل جلوگیری از دریافت ایمیل های خاص در سی پنل](https://parswebserver.com/wp-content/uploads/2022/06/email-415x235.jpg)
![آموزش ایجاد ساب دامنه در هاست سی پنل آموزش ایجاد ساب دامنه در هاست سی پنل](https://parswebserver.com/wp-content/uploads/2022/06/sub-01-415x235.jpg)
![آموزش مدیریت فضای ایمیل سی پنل آموزش مدیریت فضای ایمیل سی پنل](https://parswebserver.com/wp-content/uploads/2022/06/email-logo-415x235.jpg)
![آموزش رفع ارور 502 Bad gateway آموزش رفع ارور 502 Bad gateway](https://parswebserver.com/wp-content/uploads/2021/11/502-415x235.jpg)
![راهنمای رفع خطای 503 پروژههای نود جی اس راهنمای رفع خطای 503 پروژههای نود جی اس](https://parswebserver.com/wp-content/uploads/2023/05/nodejs-modules-webentwicklung-webdevelopment-webpunks-415x235.jpg)
![راهنمای رفع خطای Cannot find module @Nestjs/common راهنمای رفع خطای Cannot find module @Nestjs/common](https://parswebserver.com/wp-content/uploads/2024/05/nestjs_thumb-415x235.jpg)
![راهنمای رفع خطای csrf در جنگو راهنمای رفع خطای csrf در جنگو](https://parswebserver.com/wp-content/uploads/2024/01/CSRF-tokens-pws-1000x800-1-415x235.png)
![راهنمای کامل کولیشن collation پایگاهداده راهنمای کامل کولیشن collation پایگاهداده](https://parswebserver.com/wp-content/uploads/2024/03/کولیشن-دیتابیس-415x235.jpg)
![بهترین هاست برای پروژههای پایتون کدام است؟ نکاتی که باید بدانید بهترین هاست برای پروژههای پایتون کدام است؟ نکاتی که باید بدانید](https://parswebserver.com/wp-content/uploads/2024/10/هاست-پایتون-415x235.jpg)