TGViewer
Dagen | Security Dagen | Security @dagen_security · 856 subscribers
Post #583 1.55K
چجوری با دستکاری لاگین تایپ(LoginType) 2factor رو دور زدم و اکانت تیک اور کردم


سناریو این پست به تایتل پست قبلی گره خورده اگه پست قبلیو خونده باشید میدونید که ما اینجا یه پکت داریم که یه درخواست میزنه به این ای پی آی
api/authentication/sign-in

جدای از این که خیلی تست روی پارامتر otp این پکت زدم که بعضی از پیلود های json پارس نمیشد و پکت رو خراب میکرد پارامتری که من باهاش کار دارم یه پارامتره که من بهش ورودی دادم
من یه لاگین تایپ دارم که از بین دو تا پروایدر انتخابش کردم sms و email

{
"LoginType": "email",
"password": "mypass",
"user": "dagen@gmail.com",
"session": "randommmmmmmmmmmmmmmmmm",
"locale": "en_us"
}

همونطور که میبینید
من توی ریکوست قبلی ایمیل رو انتخاب کردم و یه ریکوست قبل ترش یه ایمیل خودم و شماره موبایلمو داده بودم به سایت

سوالی که مغز منو میخورد این بود چی میشه اگه لاگین تایپ رو توی همین ریکوست فعلی نفرستم؟
یا خالی بفرستمش و برم مرحله بعدی ؟
یکم فکر کنید , سایت چه واکنشی نشون میده ؟
یه سری فرض ها با خودمون میکنیم . یعنی میشه اگه من اینو نفرستم به کل 2fa بره کنار و من وارد اکانت بشم ؟

حالا وقته عمل چن تا تست محدود توی ذهن من باید اجرایی بشه بیاین بریم رو ریپیتر
یه بار میام پارامتر LoginType رو آش با جاش ور میدارم چون ممکنه اون سمت سرور این نفرستادنه به سرور یه null برگردونه در خواست رو send میکنم —> fail شد چرا ؟
چون منو ریدارکت میکرد همون ریکسوتی که که میگفت پرووایدر انتخاب کن پس این تست بدرد من نخورد

تست بعدی

مقدار ایمیل رو بر میدارم هیچی میفرستم به این حالت :

"LoginType": ""

نوبت اینه send رو بزنم وقتی ریسپانس رو دیدم یه successful داد ولی تو خالی بود و پیش فرض کد تایید رو به شمارم اس ام اس میکرد :)
این هم fail شد و نتیجه ای برام نداشت .
میرسیم به تست اخر این همون تست طلاییس که میخوامش و میشه مغز اسیپ پذیری که اشتباه یه برنامه نویس رو اشکار میکنه و پستو باهاش تموم میکنم

اگه این مقدارا سمت فرانت‌اند تعریف شدن پیش خودم اومدم فکر کردم چرا نرم این پارامتر(LoginType) رو توی dom سرچ کنم ؟
سرچ کردم همچین چیزی جلوی چشای منه —>

export enum LOGIN_TYPE {
EMAIL : "email"
PHONE : "phone"
NONE : "none"
}



میشه به من بگی اون none چیه ؟ مگه ما داشتیم همچین چیزی ؟ چه تستی کنم ؟

یه راه برای فهمیدنش وجود داره میام توی پارمتر لاگین تایپ میزارمش :
"LoginType": "none"


تمام . باگ دوم برای منه 2fa رفت کنار و من کافی بود هر ایمیلی که دوست دارم رو بدون تایید برم توش


حدس و احتمال پشت صحنه

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

و ما به عنوان اتکر اومدیم این فرصت رو به نفع خودمون تغیر دادیم و یه گزارش ولید رو به ثبت رسوندیم
امیدوارم نهایت درک رو از این سناریو گرفته باشید 🌷

پر قدرت بریم سر وقت باگای بیشتر ؟

@Dagen_security
  • ❤ 19
  • 👍 6
  • 🔥 1
More from @dagen_security
  1. Sep 3, 2026کتابهای زیادی از سمت ما به لطف حمایت و همراهی تون ترجمه فارسی شده توی این پست براتون ۴ نقش…
  2. Jul 2, 2026خب مثل اینکه انرژی برای یه برسی یه سناریو دیگه پایینه پایینه میتونیم کاتش کنیم ولی از اونج…
  3. Jul 1, 2026نام کتاب : IRAN'S Cyber Threat ✍مترجم : Typhon تاریخ انتشار : ۱۰ تیر ۱۴۰۵ #رایگان_برای_اعض…
  4. Jul 1, 2026اگه می‌خوای بدونی پشت پرده‌ی حملات سایبری منتسب به ایران چی می‌گذره، این کتاب دقیقاً همون…
  5. Jul 1, 2026ترجمه فارسی کتاب Iran Cyber Threats رو خوندم و عجیب و غریب به دل نشست ، کتاب کار درست و سن…
  6. Jun 30, 2026سری پادکست های کانال یوتیوب Critical Thinking Bug bounty Podcastبزودی فارسی میشه و بدون هی…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →