هک درگاه پرداخت به روش IDOR با استفاده از باگ پلاگین بانکی

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

با مبلغ 29 هزارتومان سفارش 44 میلیون تومانی ثبت کردیم!

شاید عجیب باشه اما کاملا واقعیه بریم تصاویر رو ببینیم:

سفارش بالا که مبلغ 44 میلیون تومان هست عملا هیچ مبلغی براش پرداخت نشده، اسم وب سایت رو نمی تونیم بیاریم چون علی رغم اینکه باگ رو بهشون اعلام کردیم ولی هنوز تا این لحظه فیکسش نکردند و البته بعدش هم بازم نگیم اسمشون رو بهتره.

هک درگاه پرداخت چطور صورت می گیره؟

شکارچی که میخواد این کار رو انجام بده ابتدا به سیستم Request Tracker متصل میشه که بتونه تمامی ارتباطات بین درگاه و وب سایت رو ببینه و تغییرات اعمال کنه

burpsuit سیستم

بعد با ثبت یک تراکنش موفق با مبلغ پایین اطلاعات برگشتی به سایت رو ذخیره میکنه و در نهایت میره سراغ شکار: یعنی تراکنش مبلغ بالایی که فیک هست رو میزنه و موقع پرداخت لغو و سپس جایگذاری اطلاعات تراکنش موفق

در پنل مدیریت این سفارش چطور دیده میشه؟

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

این حفره امنیتی دقیقا تقصیر کیه و یقه کیو باید بگیریم؟

پیش از اینکه ببینیم یقه کیو باید بگیریم یه نگاهی بندازیم به فرآیند پرداخت در شبکه بانکی:

وقتی شما یک سفارشی رو پرداخت می کنید اول از فروشگاه اینترنتی مورد نظر (با استفاده از پلاگین پرداخت بانکی) به شاپرک وصل می شید، سپس هر اتفاقی در درگاه بیفته اعم از پرداخت موفق یا ناموفق، شاپرک اطلاعات پرداخت به به پلاگین وب سایت شما بر می گردونه:

شروع سشن پرداخت > ارسال اطلاعات توسط پلاگین به شاپرک > روند پرداخت > ارسال پاسخ به وب سایت

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

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

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

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

اگر درگاه پرداخت در فروشگاه امن نباشه چطور باید متوجه سفارشات Fake بشیم؟

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

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

برای جلوگیری از این مورد چه کاری باید کرد؟

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

بررسی امنیت درگاه پرداخت چطور صورت می گیره؟

یه هکر کلاه سفید می تونه به انجام همون کارهایی که هکر کلاه سیاه انجام میده متوجه بشه درگاه پرداخت شما نفوذ پذیر هست یا نه، دقیقا مثل همین کاری که ما با این فروشگاه اینترنتی انجام دادیم و سپس بهشون اطلاع دادیم.

تست نفوذ به درگاه پرداخت رو به چه کسی بسپریم؟

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

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

کانال تلگرام متسون
اینستاگرام متسون
ثبت نظر درباره مقاله

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

آدرس ایمیل شما منتشر نخواهد شد.