۲. گیرندههای پخش (Broadcast Receivers): تزریق دستورات
اینها پیامگیرهای اپلیکیشن هستند. آنها گوش میدهند تا در صورت وقوع یک اتفاق (مثل رسیدن پیامک یا شارژ شدن گوشی) واکنشی نشان دهند.
- سناریو حمله: اپلیکیشن یک Receiver دارد که با دریافت پیام
REBOOT_APPدیتابیس را پاک یا بازسازی میکند. مهاجم یک Intent با این نام پخش میکند (Broadcast) و اپلیکیشن را وادار به تخریب خود میکند. - مثال کد جاوا (آسیبپذیر):
java
/* کدی که بدون چک کردن منبع پیام، دستور را اجرا میکند */
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("com.app.CLEAR_DATA")) {
/* انجام عملیات حساس بدون احراز هویت فرستنده! */
context.deleteDatabase("UserDB")
}
}
}bash
# ۲. فرستادن پیام مخرب به Receiver برای پاک کردن دیتا #
adb shell am broadcast -a com.app.CLEAR_DATA