این رایتاپ بر اساس سناریوهای دریافت شده از متخصصین امنیتی باگدشت با هدف اشتراک گذاری دانش امنیتی و تسریع در ایمن سازی ارایه شده است. دور زدن محدودیت بروت فورس و دسترسی به حساب کاربری در سامانه می توان کد تایید ارسال شده را بروت فورس کرد زیرا محدودیتی برای ورود کد اشتباه وجود ندارد. تنها […]

Web
write-up
sia

Account take over writeup

شهریور ۲۹, ۱۴۰۰

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

دور زدن محدودیت بروت فورس و دسترسی به حساب کاربری

در سامانه می توان کد تایید ارسال شده را بروت فورس کرد زیرا محدودیتی برای ورود کد اشتباه وجود ندارد. تنها محدودیت موجود X-RateLimit-Limit وب سرور است که در حالت عادی ۳۰ و اگر در اکانت خود لاگین نمایید و مقدار Authorization هدر درخواست خود را به درخواست های POST کد تایید اضافه نمایید مقدار X-RateLimit-Limit به ۵۰ تغییر می کند. حال باید بعد از ارسال ۶۰ در خواست آی پی خود را عوض کنید تا محدودیت دور زده شود.

  • در حساب خود وارد شوید و هدر Authorization را کپی کنید.
  • با شماره دیگری اقدام به ورود کنید در این مرحله بعد از ورود شماره تلفن، token ایی که ارسال می شود را کپی کنید.
  • کد تایید برای شماره قربانی ارسال می شود.
  • می توانید از tor استفاده کنید در صورت استفاده از tor باید هر ۱۵ ثانیه آی پی جدیدی در خواست کنید.
echo -e 'AUTHENTICATE\r\nsignal NEWNYM\r\nQUIT' | nc 127.0.0.1 9051
  • در قسمت intruder در burp در خواست را برای بروت فورس ارسال می کنیم.
  • در intruder بر اساس طول ریسپانس فیلتر کنید.
  • در این درخواست مقدار توکن درخواست شماره قربانی و مقدار Authorization درخواست شماره خود جایگذاری میشود.
  • در حالت عادی status درخواست حاوی کد تایید درست باید ۲۰۰ باشد و در غیر این صورت ۴۰۰ باشد.
  • در صورت منقضی شدن کد کافی است ارسال دوباره را بزنید تا همان کد مجددا فعال و قابل استفاده شود.
  • در ویدیو ارسال شده من بازه کوچکتری را در نظر گرفته ام تا مدت زمان ویدیو زیاد نشود.
  • در نهایت با بدست آوردن کد تایید صحیح به اکانت کاربر لاگین مینماییم.
POST /api/verify? HTTP/1.1 Authorization: xxx  {   "code": "§code§",   "token": "zzz" }