مِهان علوی مجد
مِهان علوی مجد
خواندن ۲ دقیقه·۲ سال پیش

ای پی آی دیوار برای ارسال شماره موبایل


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

شکل ۱ - شماره شانسیه برای کسی نیست
شکل ۱ - شماره شانسیه برای کسی نیست

خب بعد از submit کردن، می بینیم یه ریکوئست پست می زنه به اینجا:

https://api.divar.ir/v5/auth/authenticate

عکسش:

شکل ۲
شکل ۲

خب ببینیم محتویاتش چیه:

شکل ۳
شکل ۳

یه جیسون ساده است که فقط شماره رو میده! یعنی عملا هیچ encryption وجود نداره. برای همین شما می تونید یه ربات بنویسید که برای همه کد تایید بفرسته.

حالا که اطلاعات لازم رو داریم وقته دست به کد شدنه.

نکته:من می خواستم اینو با node.js بنویسیم ولی انگار همش ۵۰۱ میده برای همین با پایتون می ریم جلو.

https://gist.github.com/mehanalavimajd/7d9e6dd0d4d97e3edb103e2771f953b7

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

حالا یه ذره پیچیده اش می کنیم:

https://gist.github.com/mehanalavimajd/d2fc230ffed3d5e11cae9311e0df67ff

این کاری‌ که می کنه اینه که برای همه شماره های ۰۹۱۲ یه کد می فرسته.

شکل ۴
شکل ۴


با بیست خط کد برای ۱۰۰۰ نفر کد تایید دیوار فرستادیم.

خب این بامزه است اما چیزی که مسخره است اینه که هیچ encryption وجود نداره. دیتا رو همینجوری مفت میدن به سرور و اینجاست که کار خطرناک میشه(مخصوصا تو جاهای مهمتر).

اما یه توضیح درباره ی ارور های این ای پی آی بگم:

"AUTHENTICATION_VERIFICATION_CODE_SENT":

این که معلومه، همه چیز اوکیه. کد ارسال شده.

{"error":"لطفا یک شماره موبایل معتبر وارد نمایید.","code":3,"message":"لطفا یک شماره موبایل معتبر وارد نمایید."}:

این وقتیه که شما شماره رو اشتباه نوشتید. این مثلا بر میگرده از تو سرور و جلوگیری می کنه از وارد شدن دیتایه خراب.

یه ارورم داره که وقتی شما توی یه ساعت بیشتر از ۱۰ تا ریکوئست برای یه شماره می زنید.

اگه سوالی درباره این ای پی آی دارید لطفا تو کامنتا بزارید.

شماره موبایلدیواربرنامه نویسیapi
یه پسر که برنامه نویسی رو دوست داره
شاید از این پست‌ها خوشتان بیاید