0
02128428905

آموزش کشف آسیب پذیری Xss در دنیای واقعی (قسمت اول)

 

با سلام خدمت تمامی دوستان عزیز و کاربران محترم اولترا سیکوریتی

 

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

 

در ابتدا با سرچ در گوگل سایت مورد نظر خود را پیدا می کنیم.

 

 

پس از انتخاب تارگت مورد نظر وارد وبسایت می شویم.

 

 

 

حال باید به یافتن فیلد های مختلف جهت تست آسیب پذیری بپردازیم. برای این کار بنده از قسمت ورود وبسایت کار خود را آغاز می کنم

 

سپس به سورس مراجعه می کنیم تا فیلد های مختلف را در این صفحه مورد بررسی قرار دهیم.

 

 

در سورس به یک فیلد مخفی (Hidden) بر خوردیم که برای آن مقداری تعریف نشده است. حال عبارتی مانند <UltraSecurity> را به این فیلد تزریق می کنیم تا فیلترینگ مربوط به این فیلد را مورد بررسی قرار دهیم.

 

 

همانطور که مشاهده کردید هر آنچیز که به عنوان ورودی به این فیلد داده می شود با فیلترینگ مناسبی در سورس قرار می گیرد. بنابر این به دنبال ورودی های دیگر می گردیم.

 

 

یک ورودی دیگر در همین صفحه پیدا کردیم … بیایید این بار شانس خود را با این ورودی امتحان کنیم.

 

 

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

 

 

 

حال با حرکت دادن موس برروی قسمت های مختلف سعی بر این داریم تا پارامتر های GET را بیابیم

 

 

در صفحه اصلی یک اسلایدر قرار دارد که زمانی که موس را برروی آن می بریم متوجه می شویم که از طریق متد GET پارامتر های بسیاری را دریافت می کند. برای همین بر روی این اسلایدر کلیک کرده و پارامتر های ورودی را مورد بررسی قرار می دهیم.

در ابتدا پارامتر _EXT_SCI_INSTANCE_yz5k_assetId را بررسی می کنیم و عبارتی مانند عبارت <UltraSecurity> را به آن تزریق می کنیم.

 

 

همانطور که مشاهده کردید ورودی های ما را به صورت Encode شده در سورس قرار می دهد. در صورتی که به همین صورت بقیه ورودی ها را مورد بررسی قرار دهیم متوجه می شویم که تمامی آن ها دارای فیلترینگ مناسبی برای ورودی های کاربر هستند. اما باز هم نباید نا امید شد! سورس را با دقت بیشتری مورد بررسی قرار می دهیم …

 

 

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

 

 

همانطور که مشاهده کردید به صفحه ای جدید دست پیدا کردیم، حال شروع به تست کردن پارامتر های مختلف می کنیم، بنده از پارامتر CssClasses آغاز می کنم و عبارتی مانند عبارت <UltaSecurity> را به آن تزریق می کنیم تا فیلترینگ این ورودی را مورد بررسی قرار دهیم.

 

 

همانطور که مشاهده کردید پس از تزریق عبارت بالا تغییری در صفحه اعمال شد… حال جهت بررسی دقیق تر به Inspector مراجعه کرده تا بررسی کنیم دقیقا چه اتفاقی افتاده است

 

 

همانطور که مشاهده کردید عبارت تزریق شده در داخل سورس به نمایش در آمده است. حال با بستن تگ های باز می توانیم کد های مورد نظر خود را تزریق کنیم. که پیلود آن به صورت زیر خواهد بود.

 

 

و پس از تزریق پیلود بالا می توانید مشاهده کنید که Alert به نمایش در می آید.

 

 

اما متاسفانه دارای محدودیت نمایش حروف است که با استفاده از متد String.fromCharCode می توان آن را بایپس کرد. که پیلود نهایی آن به صورت زیر خواهد بود.

 

 

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

 

 

حال اگر کمی خلاقیت به خرج بدهید با استفاده از Google Dork می توانید این پارامتر آسیب پذیر را در سابدامین های Sharif.ir سرچ کنید که موجب پیدا شدن ۲۰ آسیب پذیری Cross Site Scripting (XSS) در سابدامین های سایت Sharif.ir می شود ( در کانال از این تارگت ها رونمایی کردیم … )

 

امیدوارم که از این آموزش لذت کافی را برده باشید …

 

 

امتیاز شما به این مطلب (1 تا 5)
در حال ارسال
نظرات کاربر
3.8 (10 آرا)
دیدگاه کاربران
  • ناشناس 3 مه 2020

    سلام
    سایتی داریم که نتایج جست‌وجوی فیلد داخل سایت را بین s و % نمایش می‌دهد،آیا باگ xss وجود دارد؟

  • man 25 مه 2020

    با عرض سلام و خداقوت
    چطوری کدهارو تزریق میکنید ؟ من توی page source نمیتونم چیزی بنویسم !

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *