ورود و ثبت نام

آموزش دور زدن محدودیت SMS Bomber در وبسایت ها

خواندن این مطلب

3 دقیقه

زمان میبرد!

آموزش دور زدن محدودیت SMS Bomber در وبسایت ها

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

 

برنامه ما یک وب اپلیکیشن هست که مثل اکثر وب اپلیکشن های دیگ برای ورود یا ثبت نام توی برنامه نیازه که شماره خودمون رو وارد کنیم تا برامون کدی رو ارسال کنه. دیگ همتون با معقوله sms bomber آشنا هستید ، پس اینجا میشه تئوری رو بررسی کرد که امکان این حمله وجود داشته باشه.

بریم  تو کارش ببینیم قرار چی بشه…

 

قدم اول با استفاده از برپ ترافیک برنامه رو بررسی میکنم و زمانی که برنامه توی درخواست خودش داره شماره منو به سمت سرور میفرسته اونو راهنمایی میکنم به بخش Intruder ، دقیقا میشه این درخواست:

 

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

همونجوری که میبیند با استتوس 201 به ما میگه sms  برای ما ارسال شده.

پس اگر مقداری جز 201 برای ما برگردونده بشه میفهمیم که مشکلی توی روند کارمون پیش اومده.

توی این مرحله بخش payloads رو روی null تنظیم میکنیم و ازش میخواییم که سه بار پیلود رو اجرا کنه تا میشه 21 تا درخواست:

 

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

 

همونطور که میبنید 3 مدل استتوس رو برای ما برمیگردونه

201 که یعنی sms به درستی برای ما ساخته و ارسال میشه

406 یعنی ی مشکلی حین درخواست به وجود آومده

413 هم به من میگه بیشتر از حد مجاز درخواست زدی

برمیگردونم درخواستم رو توی Repeater و اونجا ارسالش میکنم

برام مقدار 413 برمیگردونه ، قسمت درخواست رو نگاه کنید رفقا چی داره که برای ما میتونه مهم باشه؟

 

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

خب اگر شماره تلفن نیست پس چیه؟ شما هم مثل من فک میکنید؟ ما یک متغیر توی بخش بادی داریم که عنوان device_id رو به خودش اختصاص داده. اصلا چرا باید همچین متغیری باشه؟؟؟

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

من مقدار device_id  رو تغیر میدم و دوباره درخواست رو ارسال میکنم ، ی تغیر جزئی و کوچیک هم کافیه مثلا یک رقمش رو عوض میکنم.

 

بینگو ؛ همونطوری که مشاهده میکنید برای ما پیام ارسال میشه و فرایند کاری ما خوب میره جلو.

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

من پیلود زیر رو نوشتم و هدف اصلی هم این بود که اگر مقدار استتوس ما بجز 201 برگشت بیاد و device_id رو تغیر بده:

و حالا نوبت به تست این بزرگواره که ببینیم چقدر میتونه برای ما sms بفرسته

 

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

 

امیدوارم که این گزارش برای شما هم مفید بوده باشه.

 

 

 

 

 

 

 

 

 

درباره نویسنده



نظرات کاربران



دیدگاهتان را بنویسید

مطالب مرتبط