PDA

View Full Version : سوال: مشکل حاد با ماژول درگاه پاسارگارد



clickchat
جمعه 25 اسفند 1391, 23:34 عصر
با سلام خدمت شما دوستان عزیز و عرض شب بخیر

من حدود 1 ماه ماژول درگاه بانک پاسارگارد رو برای سیستم whmcs دریافت کردم و بعد خواستم ماژول مربوطه رو دریافت کنم ولی متاسفانه در پنل من بالا نمیاد و صفحه سفید میشه بعد بررسی دوستان متوجه شدیم که مشکل از فایل xml هست که پنل ما کلکسو نمیخونه ( سی پنل و دایرکت میخونه ) حال من میخواهم این مشکل رو رفع کنم از بیشتر افراد حتی بانک کمک گرفتم ولی جواب درستی ندادن و گفتن مشکل از سرور و پنل منم گفتم بله هست چطوری برطرف کنم جوابی نداشتن حال از شما عزیزان کمک میخوام

امیدوارم شما کمکم کنید

تشکر فراوان

MMSHFE
جمعه 25 اسفند 1391, 23:44 عصر
یه تست کنید:
همه مسیرها رو مطلق کنید. یعنی یک مسیر ریشه تعریف کنید مثل کد زیر:

define('ROOT', str_replace('\\', '/', dirname(__FILE__)));
و تمام مسیرهای مورد استفاده در فایلها مثل فایل XML و... رو برحسب این ریشه بصورت مطلق تعیین کنید. مثلاً:

file_get_contents(ROOT . '/pasargad/info.xml');
ببینید درست میشه یا نه. برام زیاد پیش اومده که هاستها با مسیردهی نسبی مشکل داشته باشن. بخصوص وقتی بخواین به سمت بالا (با کمک ..) حرکت کنید.

clickchat
جمعه 25 اسفند 1391, 23:48 عصر
کسی نبود به ما یاد بده اگه هم هزینه بره پرداخت میکنم

clickchat
جمعه 25 اسفند 1391, 23:52 عصر
یه تست کنید:
همه مسیرها رو مطلق کنید. یعنی یک مسیر ریشه تعریف کنید مثل کد زیر:

define('ROOT', str_replace('\\', '/', dirname(__FILE__)));
و تمام مسیرهای مورد استفاده در فایلها مثل فایل XML و... رو برحسب این ریشه بصورت مطلق تعیین کنید. مثلاً:

file_get_contents(ROOT . '/pasargad/info.xml');
ببینید درست میشه یا نه. برام زیاد پیش اومده که هاستها با مسیردهی نسبی مشکل داشته باشن. بخصوص وقتی بخواین به سمت بالا (با کمک ..) حرکت کنید.

نه فداتشم ربطی به مسیر فایل مربوطه نیست اگه من فایل certificate.xml رو حذف کنم و در فایل pay.php هم کد
$data = $processor->sign($data); حذف کنم به بانک متصل میشه و صفحه سفید نمیشه

MMSHFE
جمعه 25 اسفند 1391, 23:54 عصر
راستش من تا حالا با بانک پاسارگاد کار نکردم و اطلاعاتی درمورد نحوه کارکردش ندارم ولی تحقیق میکنم و اگه به نتیجه رسیدم، خبر میدم.

MMSHFE
جمعه 25 اسفند 1391, 23:59 عصر
شما آخرین نسخه تغییرات پاسارگاد رو از این لینک (http://paypaad.ir/file/1343631136.zip) دریافت و تست کنید. ضمناً باید SOAP و cURL هر دو روی هاست شما فعال باشن. همچنین توصیه میکنم آخرین نسخه WHCMS رو هم دانلود و نصب کنید.

clickchat
جمعه 25 اسفند 1391, 23:59 عصر
من به شما اطلاعاتی میدم

کد دهی بانک پاسارگارد بر اساس الگوریتم نامتقارن هست که به صورت
base64 هست که دو نوع داره publice key و private key که کد عمومی رو به شرکت میدیم و کد خصوصی رو در فایل certificate.xml ذخیره میکنیم که میشه امضاء ما نزد بانک حال سرور برای خوندن این فایل نیاز به تابع xml reader داره که واسه من فعال و تابع دیگه که نمیدونم چیه این کد نویسی برعکس کد نویسی بانک های دیگه که از کد نویسی soap clinet استفاده میکنند

یکم توضیح دادم متوجه بشین

clickchat
شنبه 26 اسفند 1391, 00:01 صبح
شما آخرین نسخه تغییرات پاسارگاد رو از این لینک (http://paypaad.ir/file/1343631136.zip) دریافت و تست کنید. ضمناً باید SOAP و cURL هر دو روی هاست شما فعال باشن. همچنین توصیه میکنم آخرین نسخه WHCMS رو هم دانلود و نصب کنید.

دوست عزیز پی پاد از کد نویسی .pem استفاده میکنه که بانک پاسارگارد نمیکنه

MMSHFE
شنبه 26 اسفند 1391, 00:05 صبح
بله این رو متوجه شدم. درصورت امکان مستنداتی که برای شما فرستادن رو اینجا هم بگذارین (بجز کلید خصوصی خودتون) تا ببینم چیزی ازش میفهمم یا نه؟

clickchat
شنبه 26 اسفند 1391, 00:06 صبح
فایلی برای شما گذاشتم ببینید این فایل ( ماژول درگاه بانک پاسارگارد نه پای پاد )

MMSHFE
شنبه 26 اسفند 1391, 00:09 صبح
این فایل رو دیدم ولی این که یک اسکریپت از سایت Nuller.ir بود. کلاً اسکریپتهای نال شده قابل اعتماد نیستن. اسکریپت رسمی خود بانک رو تست کردین؟

clickchat
شنبه 26 اسفند 1391, 00:13 صبح
این هم مستندات بانک پاسارگارد

clickchat
شنبه 26 اسفند 1391, 00:14 صبح
این اسکریپت روی پنل دایرکت و سی پنل تست شده کار میکنه ، در ضمن من هم همین فکر رو میکردم گفتم کد خود بانک رو امتحان کنم دیدم نه اونم همین مشکل رو داره

MMSHFE
شنبه 26 اسفند 1391, 00:15 صبح
جالبه. پرمیشن فایل XML رو چک کردین؟

clickchat
شنبه 26 اسفند 1391, 00:18 صبح
بله درست خودتون چک بفرمایید


http://amolhost.ir/client/modules/gateways/Pasargad/certificate.xml

linux
شنبه 26 اسفند 1391, 00:18 صبح
من به شما اطلاعاتی میدم

کد دهی بانک پاسارگارد بر اساس الگوریتم نامتقارن هست که به صورت
base64 هست که دو نوع داره publice key و private key که کد عمومی رو به شرکت میدیم و کد خصوصی رو در فایل certificate.xml ذخیره میکنیم که میشه امضاء ما نزد بانک حال سرور برای خوندن این فایل نیاز به تابع xml reader داره که واسه من فعال و تابع دیگه که نمیدونم چیه این کد نویسی برعکس کد نویسی بانک های دیگه که از کد نویسی soap clinet استفاده میکنند

یکم توضیح دادم متوجه بشین

base64 چه ربطی به کلید عمومی دارد؟
شما به عنوان استفاده کننده از امکانات بانک کلید عمومی را به بانک یا هرکس دیگر می‌دهید و کلید خصوصی را باید نزد خود محافظت کنید.
با کلید خصوصی خودتان اطلاعاتی که برای بانک ارسال می کنید را امضا می کنید. ارسال اطلاعات توسط دستور ساده post انجام می‌گیرد.بانک اطلاعات امضا شده با کلید خصوصی خودتان را با کلید عمومی کنترل می‌کند. در صورت صحت امضا، اطلاعات را در سمت خود پردازش کرده و بعد از تراکنش مالی خروجی برای شما می‌فرستد.
مدل کدنویسیشون هم فرق فکوله چون شرکت فناپ (که خودش از شرکتهای تحت پوشش بانک پاسارگادهست) این سامانه را ساخته بچه‌های دانشگاه شریف توش کار می‌کنند و soap و سایر استانداردهای دیگر را قبول ندارند!

clickchat
شنبه 26 اسفند 1391, 00:22 صبح
base64 چه ربطی به کلید عمومی دارد؟
شما به عنوان استفاده کننده از امکانات بانک کلید عمومی را به بانک یا هرکس دیگر می‌دهید و کلید خصوصی را باید نزد خود محافظت کنید.
با کلید خصوصی خودتان اطلاعاتی که برای بانک ارسال می کنید را امضا می کنید. ارسال اطلاعات توسط دستور ساده post انجام می‌گیرد.بانک اطلاعات امضا شده با کلید خصوصی خودتان را با کلید عمومی کنترل می‌کند. در صورت صحت امضا، اطلاعات را در سمت خود پردازش کرده و بعد از تراکنش مالی خروجی برای شما می‌فرستد.
مدل کدنویسیشون هم فرق فکوله چون شرکت فناپ (که خودش از شرکتهای تحت پوشش بانک پاسارگادهست) این سامانه را ساخته بچه‌های دانشگاه شریف توش کار می‌کنند و soap و سایر استانداردهای دیگر را قبول ندارند!

گلم من که نگفتم ربطی داره ، RSA این ساختار اونهاست

حالا عزیزم میگن نقد ول کردی چسبیدی به نسیه ، مشکل من سر چیز دیگه است

clickchat
شنبه 26 اسفند 1391, 00:33 صبح
شما یک بار phpinfo من رو چک بفرمایید


http://amolhost.ir/php.php

linux
شنبه 26 اسفند 1391, 00:34 صبح
بله درست خودتون چک بفرمایید


http://amolhost.ir/client/modules/gateways/Pasargad/certificate.xml
آفرین هم کلید عمومی هم کلید خصوصی! این چه کاری هست این فایل باید فقط برای خودتان باشد مخصوصا کلید خصوصی با داشتن این کلید هرکس دیگر می‌تواند خودش را جای شما جا بزند و تراکنش مالی انجام دهد، حساب شما درگیر هست.

clickchat
شنبه 26 اسفند 1391, 00:36 صبح
آفرین هم کلید عمومی هم کلید خصوصی! این چه کاری هست این فایل باید فقط برای خودتان باشد مخصوصا کلید خصوصی با داشتن این کلید هرکس دیگر می‌تواند خودش را جای شما جا بزند و تراکنش مالی انجام دهد، حساب شما درگیر هست.

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

MMSHFE
شنبه 26 اسفند 1391, 00:41 صبح
انگار SOAP روی سرور شما فعال نیست. البته اینطور که صحبت شده، فقط از متد POST استفاده میشه ولی فعلاً تفاوتی که با سرور خودم دیدم همین بود.

FastCode
شنبه 26 اسفند 1391, 00:44 صبح
کلید خصوصی فوق العاده محرمانست.و هزینه ای که به بانک دادید(اگر چیزی پرداخت کرده باشید) بابت همین کلید و تایید امنیتش هست.

clickchat
شنبه 26 اسفند 1391, 00:44 صبح
انگار SOAP روی سرور شما فعال نیست. البته اینطور که صحبت شده، فقط از متد POST استفاده میشه ولی فعلاً تفاوتی که با سرور خودم دیدم همین بود.

مگه با این کد فعال نمیشه؟ در سرور centos روی پنل کلکسو


yum install php-soap

MMSHFE
شنبه 26 اسفند 1391, 00:46 صبح
فعلاً که فعال نبود. اگه باشه، مثل cURL باید یک کادر براش ساخته بشه و بگه soap_server و soap_client فعال شدن.

clickchat
شنبه 26 اسفند 1391, 00:46 صبح
کلید خصوصی فوق العاده محرمانست.و هزینه ای که به بانک دادید(اگر چیزی پرداخت کرده باشید) بابت همین کلید و تایید امنیتش هست.

عزیز دلم بیا این کد خصوصی یک سایت دیگه که به راحتی میشه دید


http://my.azaronline.com/modules/gateways/Pasargad/certificate.xml

باور کن ربطی نداره

linux
شنبه 26 اسفند 1391, 00:55 صبح
خیر دوست عزیز پس شماره ترمینال و شماره فروشگاه کشک دیگه برای قشنگی دادن جذاب بشه
شماره ترمینال و شماره فروشگاه در یک post بصورت یک متن ساده کد نشده قرار داره با یک تراکنش می تواند اطلاعات ارسالی از سمت شما به بانک را چک کرد و این مقادیر را بدست آورد.
خلاصه این مقادیر فقط باید در اختیار خودتان باشد و از شخص دیگری به این کلیدخصوصی دسترسی نداشته باشد.
کدهای php که گذاشته بودید، قسمتی که برای درست کردن اطلاعات و ارسال بود درست بود ولی در مورد کلاس rsa نظری ندارم! این کلاس جز کلاسهای php هست یا کسانی دیگری نوشتند؟

linux
شنبه 26 اسفند 1391, 00:57 صبح
مگه با این کد فعال نمیشه؟ در سرور centos روی پنل کلکسو


yum install php-soap
ربطی به soap نداره عرض کردم که این بچه‌های شرکت فناپ از این چیزها خوششان نمی‌آید ، یک post ساده هست.

clickchat
شنبه 26 اسفند 1391, 00:58 صبح
شماره ترمینال و شماره فروشگاه در یک post بصورت یک متن ساده کد نشده قرار داره با یک تراکنش می تواند اطلاعات ارسالی از سمت شما به بانک را چک کرد و این مقادیر را بدست آورد.
خلاصه این مقادیر فقط باید در اختیار خودتان باشد و از شخص دیگری به این کلیدخصوصی دسترسی نداشته باشد.
کدهای php که گذاشته بودید، قسمتی که برای درست کردن اطلاعات و ارسال بود درست بود ولی در مورد کلاس rsa نظری ندارم! این کلاس جز کلاسهای php هست یا کسانی دیگری نوشتند؟

جزء کلاسش هست که نباشه ارور میده این ماژول بر اساس کد نمونه بانک ساخته شده

clickchat
شنبه 26 اسفند 1391, 00:59 صبح
ربطی به soap نداره عرض کردم که این بچه‌های شرکت فناپ از این چیزها خوششان نمی‌آید ، یک post ساده هست.

من برای بانک ملت هم دارم اون از تابع soap client استفاده میکنه و مشکلی نیست ، بانک اقتصاد نوین هم همینه ولی پاسارگارد نه

clickchat
شنبه 26 اسفند 1391, 01:00 صبح
فعلاً که فعال نبود. اگه باشه، مثل cURL باید یک کادر براش ساخته بشه و بگه soap_server و soap_client فعال شدن.

دوست عزیز soap فعال شده

clickchat
شنبه 26 اسفند 1391, 01:02 صبح
مشکل من سر کد نویسی اون نیست سر اینه که کلکسو نمیتونه این رو بخونه برای چی نمیدونم

linux
شنبه 26 اسفند 1391, 01:02 صبح
عزیز دلم بیا این کد خصوصی یک سایت دیگه که به راحتی میشه دید


http://my.azaronline.com/modules/gateways/Pasargad/certificate.xml

باور کن ربطی نداره
بانک بابت این چیزها از کسی هزینه نمی‌گیرد.
حالا کس دیگری هم اشتباه کرده دلیل نمی‌شه که شما هم اشتباه کنید. با رعایت نکردن این نکات ممکن هست سو استفاده ای بشود که در نهایت بانک هیچ مسولیتی را قبول نخواهد کرد
با عوض کردن کد نوع تراکنش از ۱۰۰۳ به ۱۰۰۴ مبلغ واریز شده به حساب شما برگشت خواهد خورد. یعنی یک نفر می‌تونه از سایت شما خرید کنه شما هم کالاتون به بهش بدید بعد از این که کالا را گرفت بیاد اینطوری برگشت بزنه!

clickchat
شنبه 26 اسفند 1391, 01:08 صبح
فکر نکنم کسی بتونه دسترسی به این تراکنش داشته باشه چون گفتم بر اساس کد نمونه بانک طراحی شده ، بانک هم همین طرح رو پیشنهاد داده

clickchat
شنبه 26 اسفند 1391, 01:13 صبح
بانک بابت این چیزها از کسی هزینه نمی‌گیرد.
حالا کس دیگری هم اشتباه کرده دلیل نمی‌شه که شما هم اشتباه کنید. با رعایت نکردن این نکات ممکن هست سو استفاده ای بشود که در نهایت بانک هیچ مسولیتی را قبول نخواهد کرد
با عوض کردن کد نوع تراکنش از ۱۰۰۳ به ۱۰۰۴ مبلغ واریز شده به حساب شما برگشت خواهد خورد. یعنی یک نفر می‌تونه از سایت شما خرید کنه شما هم کالاتون به بهش بدید بعد از این که کالا را گرفت بیاد اینطوری برگشت بزنه!

پس از نظر شما سایتی مثل ایران سرور تو امنیت مشکل داره؟


http://hub.iranserver.com/modules/gateways/pasargadbank/certificate.xml

FastCode
شنبه 26 اسفند 1391, 01:15 صبح
یعنی واقعا میخوای آزمایش کنی؟
اگر کسی بتونه خیالت راحت میشه؟

بهش میگن Private Key
شما خودت برو توی dictionary ببین جلوش چی نوشته.

ما رو بگو که برای هر کاربر جدا dh میسازیم.مملکت private key حساب بانکیشون رو با افتخار میزارن در دسترس عموم بعدش هم میگن مهم نیست.

linux
شنبه 26 اسفند 1391, 01:18 صبح
پس از نظر شما سایتی مثل ایران سرور تو امنیت مشکل داره؟


http://hub.iranserver.com/modules/gateways/pasargadbank/certificate.xml
بله! دارد. وقتی همه شروع کردند کپی کردن از هم دیگه اولی که مشکل داشته باشد بقیه هم دارد.

clickchat
شنبه 26 اسفند 1391, 01:24 صبح
بله! دارد. وقتی همه شروع کردند کپی کردن از هم دیگه اولی که مشکل داشته باشد بقیه هم دارد.

خداشاهده تقصیر ما نیست بانک یه کد php میده میگه بر اساس این بنویس ما هم مینویسیم میشه این

clickchat
شنبه 26 اسفند 1391, 01:29 صبح
الان برادر من ، من باید چکار کنم این کلکسو ما این فایل xml رو بخونه و ماژول فعال بشه

FastCode
شنبه 26 اسفند 1391, 01:30 صبح
میدونم هک ممنوعه.ولی روشش رو یادت میدم.روی کسی اجرا نکن.
اول با یک برنامه ترافیک سرور رو dump میکنیم.(سخت ترین بخش)
بعد stream مورد نظر رو استخراج میکنیم.
با openssl بازش میکنیم.
با gunzip از حالت فشرده خارجش میکنیم.
کد ها رو میخونیم.
درخواست جعلی مورد نظرمون (۱۰۰۴) رو ایجاد میکنیم و با private key که اصلا لازم نیست برای دزدیدنش زحمت بکشیم encrypt میکنیم.
برای اطمینان بیشتر از عملکرد سیستم بسته رو با IP مبدا هاست قربانی میفرستیم.

فهمیدی چرا نا امنه؟
همه این کار ها رو هر کسی که ۶ ماه با لینوکس کار کرده باشه چشم بسته انجام میده.

clickchat
شنبه 26 اسفند 1391, 01:35 صبح
میدونم هک ممنوعه.ولی روشش رو یادت میدم.روی کسی اجرا نکن.
اول با یک برنامه ترافیک سرور رو dump میکنیم.(سخت ترین بخش)
بعد stream مورد نظر رو استخراج میکنیم.
با openssl بازش میکنیم.
با gunzip از حالت فشرده خارجش میکنیم.
کد ها رو میخونیم.
درخواست جعلی مورد نظرمون (۱۰۰۴) رو ایجاد میکنیم و با private key که اصلا لازم نیست برای دزدیدنش زحمت بکشیم encrypt میکنیم.
برای اطمینان بیشتر از عملکرد سیستم بسته رو با IP مبدا هاست قربانی میفرستیم.

فهمیدی چرا نا امنه؟
همه این کار ها رو هر کسی که ۶ ماه با لینوکس کار کرده باشه چشم بسته انجام میده.

والله نه نگرفتم

FastCode
شنبه 26 اسفند 1391, 01:40 صبح
والله نه نگرفتم
میخوای یه دستور یه خطی بهت بدم که همه سفارشهات رو برگشت بزنه؟خیالت راحت میشه؟
فقط یه راهنمایی میکنم که باید از این برنامه ها به همین ترتیب استفاده کنی.
ettercap(محل مناسب اجرای این دستور خیلی مهمه)
openssl
gunzip
sed
gzip
openssl این خط نیاز به private key داره.
netcat


Edit:
توی راهنمای ettercap نوشته که نسخه های جدید همه این کار ها رو به صورت خودکار انجام میدن و لازم نیست این همه برنامه رو به هم وصل کنید.

clickchat
شنبه 26 اسفند 1391, 01:47 صبح
میخوای یه دستور یه خطی بهت بدم که همه سفارشهات رو برگشت بزنه؟خیالت راحت میشه؟
فقط یه راهنمایی میکنم که باید از این برنامه ها به همین ترتیب استفاده کنی.
ettercap(محل مناسب اجرای این دستور خیلی مهمه)
openssl
gunzip
sed
gzip
openssl این خط نیاز به private key داره.
netcat


Edit:
توی راهنمای ettercap نوشته که نسخه های جدید همه این کار ها رو به صورت خودکار انجام میدن و لازم نیست این همه برنامه رو به هم وصل کنید.

در صورتی که امنیت سایت قوی باشه نتونید ازش dump بگیرید چی؟

clickchat
شنبه 26 اسفند 1391, 02:03 صبح
من فکر نکنم جواب بده

حالا شما برای نمونه برین یک دامنه از همین my.azaronline.com بخرین و پول رو برگشت بدین ببینید میشه / از نظر من نمیشه که میشه این برشکسته میشد میرفت

clickchat
شنبه 26 اسفند 1391, 02:04 صبح
اگه این اتفاق بیوفته من قید پاسارگارد رو میزنم میرم همون اقتصاد نوین و ملت رو استفاده میکنم

FastCode
شنبه 26 اسفند 1391, 02:08 صبح
dump ربطی به امنیت نداره.از هر سایتی میشه dump گرفت.
و اگر شخص وارد باشه اینقدر زیبا خودش رو جا میزنه که هرگز پیدا نمیشه.

clickchat
شنبه 26 اسفند 1391, 16:10 عصر
کسی نبود مشکل ما رو حل کنه؟

FastCode
شنبه 26 اسفند 1391, 16:29 عصر
اشتباه خودتون رو به گردن بانک نندازید.من مشکلی توی امنیت از طرف بانک نمیبینم.هر کوتاهی ای که باشه از طرف شماست.

clickchat
شنبه 26 اسفند 1391, 16:31 عصر
اشتباه خودتون رو به گردن بانک نندازید.من مشکلی توی امنیت از طرف بانک نمیبینم.هر کوتاهی ای که باشه از طرف شماست.

اصلا سایت من این ماژول رو نمیخونه ، موقعی به ادرس pay.php میرسه صفحه سفید میشه دلیل چیه نمیدونم ، این مشکل منه

پنل : kloxo
سیستم عامل : centos

clickchat
شنبه 26 اسفند 1391, 16:44 عصر
متخصصین زبان php کسی نبود؟

clickchat
یک شنبه 27 اسفند 1391, 15:59 عصر
دوستانی در این زمینه فعالیت دارن لطفا کمکمون کنند تا بتونم این مشکل رو رفع کنم

MMSHFE
دوشنبه 28 اسفند 1391, 00:17 صبح
بهتره فایلهای Log برنامه Apache رو چک کنید ببینید درخواستهایی که به فایل xml رفته با چه خطایی مواجه شده.