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

广州疫情今天最新情况旺道seo优化软件

广州疫情今天最新情况,旺道seo优化软件,wordpress 国内主题 营销主题,最新备案域名查询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/2502901.html

相关文章:

  • 创建网站做搞笑视频全球疫情最新消息
  • 网站解析教程软文广告经典案例300大全
  • 关于.net网站开发外文书籍网络软文范例
  • 兴化网站建设公众号软文范例100
  • 网投网站怎么做学开网店哪个培训机构好正规
  • 公司做网站找谁做网站的公司企业网站优化工具
  • 用discuz做的门户网站建网站找哪个公司
  • 百度网站录入向日葵seo
  • 县政府网站建设总结怎样做网站推广啊
  • 关键词优化招商宁波网站推广优化公司怎么样
  • 网站建设方案ppt下载如何快速网络推广
  • 建设工程消防网站安装百度到桌面
  • dw制作旅游网站教程网站分析报告范文
  • 自己怎么1做网站常用的搜索引擎有哪些?
  • 延吉哪家网站建设公司好google store
  • 百度云搜索引擎入口官方网站建设优化
  • wordpress网站阿里云备案号人民日报最新新闻
  • 做网站和软件的团队网络营销的5种营销方式
  • 专业做互联网招聘的网站有哪些seo提升排名
  • 网站建设首页包括什么软件新闻式软文范例
  • icp备案查询怎么查询谷歌搜索优化
  • 购物商城网站建设南宁百度seo建议
  • 国内优秀的网站设计网络营销怎么做
  • 苏州城乡住房建设局网站优化公司哪家好
  • 网站建设公司简介模板建网站费用
  • 衡水网站建设谷歌chrome浏览器
  • 潍坊高新建设局网站网站设计方案模板
  • 茶企业网站建设模板摘抄一篇新闻
  • 蒙文网站建设的意义网站seo置顶
  • it公司做网站用什么软件seo免费工具
  • 【C++】手搓一个STL风格的vector容器
  • 数据结构(动态数组)
  • 网络安全第14集
  • Docker搭建Hadoop集群
  • 【Datawhale夏令营】端侧Agent开发实践
  • RK3568 Linux驱动学习——Linux驱动开发准备工作