app安全评估之客户端程序安全(Activity拒绝服务)

安全场景描述

开发者为方便调用,会把Activity组件设置为导出状态。Android组件之间采用Intent来传递数据,如果Intent接收方没有对Intent的畸形数据进行异常捕获,攻击者可以通过构造附有畸形数据的Intent,导致APP崩溃,触发拒绝服务漏洞。

威胁等级

影响范围

Android所有版本

测试步骤

搜索activity android:exported=

修复建议

  • 将不必要导出的组件调整为不导出
<activity android:name=".ActivityDdosDemo" android:exported="false">
    <intent-filter>
        <action android:name="android.intent.360.testddos"/>
    </intent-filter>
</activity>
  • 对intent的数据处理进行保护
try {
    Intent intent = getIntent();
    boolean nullp = intent.getBooleanExtra("npe", true);
    if (nullp) {
        if (intent.getAction().equals("android.intent.360.testddos")) {
            Logger.log("Test for Android DDOS Bug");
        }
    } else {
        Logger.log("Test for Android DDOS Bug");
        String test = (String) intent.getSerializableExtra("serializable_key");
    }
} catch (Exception exp) {

}

 

posted @ 2020-09-23 16:50  Deft_hacker  阅读(347)  评论(0)    收藏  举报