این مقاله توسط مهندس میثم منصف با هدف آموزش شناسایی زودهنگام آسیبپذیری نرم افزار و ایمن سازی آنها تهیه شده است و به درخواست تیم توسعه دهنده هیچ اطلاعاتی درمورد وب سایت و نرم افزار تست شده در این گزارش نیامده است.
شرح سناریو:
ابتدا وارد وب سایت شده و یک حساب کاربری ایجاد میکنیم. پس از ثبت نام در وب سایت به ما اجازه دانلود برنامه موبایل داده میشود. در قدم بعدی، ابتدا فایل های apk را extract میکنیم.
چون تعداد فایل های classes.dex زیاد است ابتدا نام آنها را تغییر میدهیم و تمامی فایلها dex رو به پوشه برنامه dex2jar انتقال میدهیم.
با دستور dex2jar فایلهای dex رو به jar تبدیل میکنیم تا بتوانیم سورس کدهای برنامه را بخوانیم.
با ابزار jd-gui تمامی فایلهای jar را باز میکنیم.
در این مرحله سعی میکنیم آدرس اتصال به وب سرویس را پیدا کنیم. دنبال کلمه login میگردیم در نتیجه جستجو روی کلمه Login.class کلیک میکنم و درنتیجه آدرس وب سرویس login پیدا میشود.
آدرس را در مرورگر وارد کرده تا خروجی را بررسی کنیم. خطای PHP و فریمورک محبوب و امن Laravel دریافت میشود. همانطور که میبینید اطلاعاتی در مورد سرور و مسیر ها و … بدست آوردیم و از همه مهمتر نام کاربری و رمزعبور دیتابیس MySQL است.
تست اتصال به دیتابیس را بررسی میکنیم که از بیرون از شبکه اجازه دسترسی نمیدهد.
آدرس IP سرور را تست میکنیم و احتمال میدهیم که مسیرphpmyadmin در دسترس باشد و اینجا نام کاربری و رمز عبور را امتحان میکنیم. تمامی اطلاعات در پایگاه داده قابل رویت و تغییر میباشد و برای جلوگیری از افشای اطلاعات محرمانه و خصوصی کاربران از طریق این نقص، مشکلات امنیتی و آسیبپذیری به مدیر وب سایت گزارش شده است.