رایتاپ
OTP (One Time Password) vulnerability writeup

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

آسیب‌پذیری نقض سازوکار امنیتی رمزدوم پویا این امکان را به مهاجم می‌دهد تا محدودیت زمانی رمزهای دوم پویا (Time based one-time password) را دور بزند .

نحوه تست:

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

  • ورود اطلاعات کارت توسط قربانی در صفحه فیشینگ
  • درخواست رمز دوم پویا از توسط مهاجم از بانک با توجه به تغییرات مدنظر مهاجم در پارامترها
  • ارسال رمز دوم یکبار مصرف برای قربانی و وارد نمودن آن در صفحه فیشینگ
  • انجام عملیات فیشینگ توسط مهاجم!
 input("~ Enter source card number: ") input("~ Enter distination card number: ") input("~ Enter amount of transfer (RIAL): ") getcardowner() input("~ Do you want to get Pin via SMS: ").lower() transfer()