PDA

View Full Version : گفتگو: ایراد در نحوه ارسال اطلاعات بانک ملی



shahriyar3
دوشنبه 08 آبان 1391, 19:05 عصر
سلام
درحال کار و بررسی اسکریپت و نمونه کد های بانک ملی بودم که تحت عنوان درگاه پرداخت دامون هست
که به یک نکته مهم بر خوردم.
این اسکریپت پر است از کلاس ها و متد های تو در تو اما آخر سر پارامتر هائی که نیاز هست به بانک ملی ارسال بشه برای انتقال وجه تحت یک فرم ساده html و با قراردادن یک action بصورت متد پست ارسال میشه
چیزی که خیلی جالبه اینه که محتویات پارامتر شامل LOGIN_ID و امضا هش شده کاملا توی value ها مشخص هست!!
با یک تست ساده به این نتیجه رسیدم که کل کد هایی که بانک ملی به من داده هیچ استفاده ای نداره جز اینکه با پیچیده کردن قضیه قصد رد گم کردن داشته باشه برای کاربران.
همون فرم ساده html کار نهائی ارسال مقادیر به بانک و انجام میده و اصلا نیازی به اون همه کتابخونه و کلاس و متد نبود.
login_id و transaction_key که مشخصه مقادیرش که هیچی فقط این وسط یک کلید رمز گذاری شده ای تولید میشه که اونم فرمول داره به این صورته : md5 شده ی تمام پارامتر هایی که قراره ارسال بشه
حالا مسئله اینجاست که یکی میاد بجای login_id فروشگاه دیگران login_id فروشگاه خودشو میزاره و کلید رمز هش شده رو هم با استفاده از همین فرمول بدست میاره و میتونه راحت کلاه برداری بکنه.
مشتری از سایت دیگه ای خرید میکنه ولی موقع پرداخت پول به حساب کلاه بردار واریز میشه!
با قسمت پشتیبانی شرکت دامون صحبت کردم میگن که این اشتباه خریداره باید به اسم فروشگاه دقت کنه!!
این همه روش هست برای ارسال اطلاعات بصورت امن جوری که جلوی دید کاربرا نباشه چرا باید از این روش استفاده کنن ؟؟

Unique
سه شنبه 09 آبان 1391, 02:00 صبح
دوست عزیز کلا سیستم دامون مورد اعتماد و حتی بهینه برای پیاده سازی نیست !من یکبار مجبور شدم باهاش کار کنم و برای هفت پشتم بس بود ! شخصا به مشتریها در درجه اول melat وبعدش saman و parsian را توصیه میکنم.