آزاد راه 2

Mestercomuter Mestercomuter Mestercomuter · 1403/9/1 15:19 · خواندن 3 دقیقه

پیدا کردن یک آسیب پذیری در وب سرور های مایکروسافت به ادامه مطلب مراجعه کنید 

گزارش آسیب‌پذیری Zero-Day

تاریخ: 1403/9/1 - 2024/11/11
گزارش‌دهنده: mestercoputer 
ایمیل: COMPUTERHCKY@proton.me - IT_IRhackeyTEM@proton.me - it_irhckytem@zohomail.com
شماره تماس: واتساپ و تلگرام +9647820344110

 

1. عنوان آسیب‌پذیری:

افشای اطلاعات حساس به دلیل قرارگیری توکن‌های احراز هویت در URL


2. شرح آسیب‌پذیری:

در وب‌سایت **https://webmail.lanmis.com**، توکن‌های احراز هویت و اطلاعات حساس کاربری به‌صورت پارامترهای URL ارسال می‌شوند. این روش می‌تواند به مهاجمان اجازه دهد اطلاعات کاربران را از لاگ‌های سرور، تاریخچه مرورگر یا ابزارهای تحلیل شبکه به سرقت ببرند. این آسیب‌پذیری تهدیدی جدی برای امنیت حساب‌های کاربران محسوب می‌شود.


3. جزئیات فنی:

  • مسیر درخواست آسیب‌پذیر:
  • پارامترهای حساس:
    • Token: توکن احراز هویت که به‌عنوان کلید دسترسی عمل می‌کند.
    • AuthId: شناسه کاربری که اطلاعاتی درباره کاربر افشا می‌کند.
    • offset: اطلاعات منطقه زمانی که ممکن است داده‌های مکانی کاربر را نشان دهد.

4. گام‌های بازتولید:

  1. به وب‌سایت https://webmail.lanmis.com مراجعه کنید.
  2. با نام کاربری و رمز عبور وارد شوید.
  3. ابزارهای توسعه‌دهنده مرورگر (مانند Chrome DevTools) را باز کرده و درخواست‌های AJAX را بررسی کنید.
  4. مشاهده کنید که توکن‌ها و شناسه‌های حساس در URL قرار دارند.

5. نمونه کدهای مرتبط:

تابع VerifyToken:

function VerifyToken(ApplicationId, UserId, AccessToken, ExpiresIn, Action) {
    var bResult = false;
    var now = new Date();
    $.ajax({
        type: "POST",
        url: getAppServletURL() + '?Cmd=TOKEN-VERIFY&AppId=' + ApplicationId + 
            '&AuthId=' + UserId + 
            '&Action=' + Action + 
            '&offset=' + now.getTimezoneOffset() + 
            '&Token=' + AccessToken + 
            '&ExpiresIn=' + ExpiresIn + 
            '&Format=JSON&ts=' + now.getTime(),
        data: SerializeTokenData(UserId, AccessToken, ExpiresIn, '545891005614726', 'Facebook', ''),
        contentType: "text/xml",
        cache: false,
        async: false,
        error: function (jqXHR, sTextstatus, sErrorThrown) { alert('error:' + jqXHR.responseText); },
        complete: function (jqXHR, sTextstatus) { console.log('complete:' + jqXHR.responseText); },
        success: function (data) {
            bResult = $(data).find('RETURNVALUE').text() == '1';
        }
    });
}

تابع SerializeTokenData:

function SerializeTokenData(UserId, AccessToken, ExpiresIn, param1, param2, param3) {
    return { UserId, AccessToken, ExpiresIn }; // نمونه ساده
}

تابع getAppServletURL:

function getAppServletURL() {
    return 'https://webmail.lanmis.com/Mondo/lang/sys/login.aspx'; // URL واقعی شما
}

6. تحلیل امنیتی:

  • افشای اطلاعات حساس:
    قرارگیری توکن‌ها و شناسه‌های حساس در URL منجر به ذخیره این اطلاعات در لاگ‌های سرور و تاریخچه مرورگر می‌شود.
  • خطرات حملات XSS و CSRF:
    نبود اعتبارسنجی و کنترل ورودی مناسب، امکان اجرای حملات XSS و CSRF را افزایش می‌دهد.

7. تأثیرات آسیب‌پذیری:

  • سرقت اطلاعات حساس کاربران (مانند توکن‌ها و شناسه‌های کاربری)
  • دسترسی غیرمجاز به حساب‌های کاربری
  • سوءاستفاده از توکن‌های احراز هویت برای انجام عملیات مخرب

8. پیشنهادات امنیتی:

  1. عدم ارسال داده‌های حساس در URL:
    از روش‌های امن‌تری مانند ارسال داده‌ها در بدنه درخواست (HTTP POST) استفاده کنید.
  2. استفاده از HTTPS:
    تمامی ارتباطات باید از طریق HTTPS رمزنگاری شوند.
  3. اعتبارسنجی داده‌ها:
    ورودی‌ها را از نظر تزریق کدهای مخرب بررسی و پاکسازی کنید.
  4. پیاده‌سازی سیاست‌های امنیتی:
    استفاده از Content Security Policy (CSP) و سایر سیاست‌های امنیتی برای کاهش خطرات XSS.
  5. حذف داده‌های حساس پس از استفاده:
    پس از پردازش توکن‌ها و اطلاعات حساس، آن‌ها را از حافظه سیستم و سرور حذف کنید.

9. اطلاعات تماس برای پیگیری:

برای دریافت اطلاعات بیشتر یا هماهنگی‌های لازم، لطفاً از طریق ایمیل یا شماره تماس زیر در واتساپ ، تلگرام با من در ارتباط باشید 

ایمیل : IT_IRhackeyTEM@proton.me

شماره تماس: +9647820344110

 

پایان گزارش

./login.aspx?Cmd=TOKEN-VERIFY&AppId=yourAppId&AuthId=yourUserId&Action=yourAction&offset=-210&Token=yourAccessToken&ExpiresIn=3600&Format=JSON&ts=1732186505985