این مقاله توسط مهندس میثم منصف با هدف آموزش شناسایی زودهنگام آسیب‌پذیری نرم افزار و ایمن سازی آنها تهیه شده است و به درخواست تیم توسعه دهنده هیچ اطلاعاتی درمورد وب سایت و نرم افزار تست شده در این گزارش نیامده است.

شرح سناریو:

ابتدا وارد وب سایت شده و یک حساب کاربری ایجاد می‌کنیم. پس از ثبت نام در وب سایت به ما اجازه دانلود برنامه موبایل داده می‌شود. در قدم بعدی، ابتدا فایل های apk را extract می‌کنیم.

 شکل1: صفحه ثبت نام برنامه موبایل
شکل۱: صفحه ثبت نام برنامه موبایل

چون تعداد فایل های classes.dex زیاد است ابتدا نام آنها را تغییر می‌دهیم و تمامی فایل‌ها dex رو به پوشه برنامه dex2jar انتقال می‌دهیم.

 شکل2: فایل‌های داخل برنامه بعد از extract
شکل۲: فایل‌های داخل برنامه بعد از extract

با دستور dex2jar فایل‌های dex رو به jar تبدیل می‌کنیم تا بتوانیم سورس کد‌های برنامه را بخوانیم.

 شکل3: محتوایات فایل dex2jar
شکل۳: محتوایات فایل dex2jar

با ابزار jd-gui تمامی فایل‌های jar را باز می‌کنیم.

 شکل4: محیط jd-gui
شکل۴: محیط jd-gui

در این مرحله سعی می‌کنیم آدرس اتصال به وب سرویس را پیدا کنیم. دنبال کلمه login می‌گردیم در نتیجه جستجو روی کلمه Login.class کلیک می‌کنم و درنتیجه آدرس وب سرویس login پیدا می‌شود.

 شکل5: محتویات فایل dex2jar.jar بعد پیدا کردن کلمه login
شکل۵: محتویات فایل dex2jar.jar بعد پیدا کردن کلمه login
 شکل6: محتویات login.class
شکل۶: محتویات login.class

آدرس را در مرورگر وارد کرده تا خروجی را بررسی کنیم. خطای PHP و فریمورک محبوب و امن Laravel دریافت می‌شود. همانطور که می‌بینید اطلاعاتی در مورد سرور و مسیر ها و … بدست آوردیم و از همه مهمتر نام کاربری و رمزعبور دیتابیس MySQL است.

 شکل7: پیدا کردن خطای PHP.
شکل۷: پیدا کردن خطای PHP.
 شکل8: پیدا کردن فای‌های دیتابیس MySQL.
شکل۸: پیدا کردن فای‌های دیتابیس MySQL.

تست اتصال به دیتابیس را بررسی می‌کنیم که از بیرون از شبکه اجازه دسترسی نمی‌دهد.

 شکل9: تست اتصال دیتابیس
شکل۹: تست اتصال دیتابیس

آدرس IP سرور را تست می‌کنیم و احتمال می‌دهیم که مسیرphpmyadmin  در دسترس باشد و اینجا نام کاربری و رمز عبور را امتحان می‌کنیم. تمامی اطلاعات در پایگاه داده قابل رویت و تغییر می‌باشد و برای جلوگیری از افشای اطلاعات محرمانه و خصوصی کاربران از طریق این نقص، مشکلات امنیتی و آسیب‌پذیری به مدیر وب سایت گزارش شده است.

 شکل 10: نمونه اطلاعات بدست آمده از طریق این آسیب‌پذیری.
شکل ۱۰: نمونه اطلاعات بدست آمده از طریق این آسیب‌پذیری.