当前位置: 首页 > news >正文

网站做系统叫什么名字百度seo sem

网站做系统叫什么名字,百度seo sem,中企动力企业邮箱手机app,上海机电设备公司网站建设StrandHogg漏洞修复: taskAffinity学习 前言 最近手头的APP报了个高危漏洞——StrandHogg,花了点时间处理了下,踩了些坑,这里记录下,并再学习下taskAffinity这个属性。 问题 StrandHogg 漏洞是一个 Android 任务栈劫持漏洞&am…

StrandHogg漏洞修复: taskAffinity学习

前言

最近手头的APP报了个高危漏洞——StrandHogg,花了点时间处理了下,踩了些坑,这里记录下,并再学习下taskAffinity这个属性。

问题

StrandHogg 漏洞是一个 Android 任务栈劫持漏洞,在2019年披露,影响范围包括android10以下。该漏洞可以让恶意应用注入一个activity到他设定好的应用的顶层。

大致就是利用相同的taskAffinity属性,攻击应用的activity可以放在目标应用的stack中,从而伪装获得权限、数据、信息等。

知识储备

看到activity的stack我们就需要用到taskAffinity这个属性及四种启动模式了,这里只谈taskAffinity,顺便聊一下allowTaskReparenting。

taskAffinity,可以翻译为任务相关性。这个参数标识了一个 Activity 所需要的任务栈的名字,默认情况下,所有 Activity 所需的任务栈的名字为应用的包名,当 Activity 设置了 taskAffinity 属性,那么这个 Activity 在被创建时就会运行在和 taskAffinity 名字相同的任务栈中,如果没有,则新建 taskAffinity 指定的任务栈,并将 Activity 放入该栈中。另外,taskAffinity 属性主要和 singleTask 或者 allowTaskReparenting 属性配对使用,在其他情况下没有意义(不生效)。

allowTaskReparenting,翻译过来的意思是允许重新找父母(允许迁移任务栈),该属性用于配置是否允许该activity更换从属的task。
如果一个Activity设置了这个属性,其他应用启动这个activity的时候分两种情况处理:

  • 这个activity对应的进程已经启动了:则这个activity直接附属到自己所对应的进程的应用栈上
  • 这个activity对应的进程没有启动:则这个activity先直接附属到启动它的应用的应用栈上,当activity对应的进程启动后,则会主动迁移到activity对应的进程。

官方解释:

当下一次将启动 Activity 的任务转至前台时,Activity 是否能从该任务转移至与其有相似性的任务 -“true”表示可以转移,“false”表示仍须留在启动它的任务处。

有趣说法:

你捡到一条狗,在家里喂养几天觉得不错,当自己家的了;但是突然有一天他的主人找上门来了,小狗还是乖乖和主人走了。这条狗就是带有allowTaskReparenting属性的activity。

解决办法

一般扫描的第三方报告会让我们设置manifest里面application标签的taskAffinity为空字符串,其他activity不设置改属性,但是这里就出问题了。

问题

直接这样设置,如果app里面有singleTask的activity,启动时就会在任务卡片上显示多个“应用”,这个是肯定不能接收的。

修改方案

其实报告提供的方法也没错,但是要多做点修改。

  1. 按照报告做,把manifest里面application标签的taskAffinity为空字符串,其他activity不设置,最好通过用Android Studio的analyze apk查看apk的AndroidManifest。如果需要也可以加上allowTaskReparenting属性。

  2. 设置启动activity的launchMode为singleTask,其他activity全部设置为非singleTask/singleInstance。

  3. 通过analyze apk查看apk的AndroidManifest,检查里面第三方库的activity涉不涉及singleTask/singleInstance,有的话,在AndroidManifest中覆写它们(可能要用到tools:replace=“android:launchMode”)。

  4. 对需要使用singleTask/singleInstance的地方通过带FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_SINGLE_TOP flags的intent跳转。

结语

这里做的还是比较糙,如果第三方库里面非得用singleTask/singleInstance那就不好办了。可能还会有其他问题,我这暂时没遇到,有问题可评论区讨论。

http://www.lbrq.cn/news/2632915.html

相关文章:

  • 长沙房产集团网站建设舆情分析网站免费
  • 做公司网站怎么做手机版百度seo培训
  • 网站博客怎么做品牌seo主要做什么
  • 太原网站优化技术免费创建个人博客网站
  • 个人建站教程沧州搜索引擎优化
  • 一般公司网站用什么域名套餐免费淘宝关键词工具
  • 上市的网站设计公司营销推广
  • 业务员自己掏钱做网站可以吗域名注册官网
  • 一个网站怎么做多条线路百度app官方下载安装
  • 深圳做网站平台维护的公司用今日头条导入自己网站外链
  • 网站个人备案步骤业务员用什么软件找客户
  • 枣庄网站制作模板建站难吗
  • 含山微信搭建网站建设百度关键词排名推广
  • 做wish选品网站 数据网站长沙seo培训
  • 互联网运营自学课程南京关键词seo公司
  • 二人对战的微信小程序seo网站免费优化软件
  • 建设政府网站目标在线域名查询网站
  • 建个网站平台需要多少钱最近新闻今日头条
  • 苏州新区网站制作建设推旺道seo优化
  • 用微信公众平台做分类广告网站长春网站制作推广
  • WordPress多种类文件上传推广seo公司
  • 南充哪里做网站排超联赛积分榜
  • 网站建设方案平台架构网站优化推广方法
  • 怎么用phpcmf做网站网络运营与推广
  • 仿网站视频教程重庆seo排名技术
  • 官方网站的推广策划怎么做广州网站营销推广
  • 求一个网站怎么申请域名建立网站
  • 织梦cms怎么搭建网站网站首页制作网站
  • 做3d效果图有什么好网站网站展示型推广
  • 阿里云企业网站怎么建设写一篇软文多少钱
  • 华清远见25072班C语言学习day5
  • 13. 搜索引擎-ElasticSearch
  • 数据持久化 —— `chrome.storage` 的记忆魔法
  • MyBatis-Plus Service 接口:如何在 MyBatis-Plus 中实现业务逻辑层??
  • OpenAI 开源模型 gpt-oss 正式上线微软 Foundry 平台
  • Numpy科学计算与数据分析:Numpy数组操作入门:合并、分割与重塑