Android应用中的常见漏洞总结(下)

这篇博客详细总结了Android应用中常见的安全漏洞,包括Zip包下载时的UnZip解压文件漏洞,以及Android签名类相关的“MasterKey”、“9695860”、“9950697”和“janus”漏洞。文章阐述了这些漏洞的产生原理、攻击方式和可能的危害,提醒开发者注意应用的安全性。
摘要由CSDN通过智能技术生成

Android应用中的常见漏洞总结下期来啦,和小编一起看看吧~

Zip包下载

UnZip解压文件漏洞

描述:

Zip
slip漏洞其实也是目录遍历的一种,通过应用程序解压恶意的压缩文件进行攻击。恶意攻击者通过构造一个压缩文件条目中带有…/的压缩文件,上传后交给应用程序进行解压。由于程序解压时没有对文件名进行合法性的校验,而是直接将文件名拼接在待解压目录后面,导致可以将文件解压到正常解压缩路径之外并覆盖可执行文件,从而等待系统或用户调用他们实现代码执行(也可能是覆盖配置文件或其他敏感文件)。

背景知识:

在Linux/Unix系统中“…/”代表的是向上级目录跳转,有些程序在当前工作目录中处理到诸如用“…/…/…/…/…/…/…/…/…/…/…/etc/hosts”表示的文件,会跳转出当前工作目录,跳转到到其他目录中。

Java代码在解压ZIP文件时,会使用到ZipEntry类的getName()方法,如果ZIP文件中包含“…/”的字符串,该方法返回值里面原样返回,如果没有过滤掉getName()返回值中的“…/”字符串,继续解压缩操作,就会在其他目录中创建解压的文件。

产生原理 :

因为ZIP压缩包文件中允许存在"…/"的字符串,攻击者可以利用多个“…/”在解压时改变ZIP包中某个文件6存放位置,覆盖掉应用原有的文件。如果被覆盖掉的文件是动态链接so、dex或者odex文件,轻则产生本地拒绝服务漏洞,影响应用的可用性,重则可能造成任意代码执行漏洞,危害用户的设备安全和信息安全.。

Android签名类

描述:

Android具有签名机制。正常情况下,开发者发布了一个应用,该应用一定需要开发者使用他的私钥对其进行签名。恶意攻击者如果尝试修改了这个应用中的任何一个文件(包括代码和资源等),那么他就必须对APK进行重新签名,否则修改过的应用是无法安装到任何Android设备上的。但如果恶意攻击者用另一把私钥对APK签了名,并将这个修改过的APK对用户手机里的已有应用升级时,就会出现签名不一致的情况。因此,在正常情况下,Android的签名机制起到了防篡改的作用。但如果恶意攻击者利用漏洞,那么恶意攻击者就可以任意地修改一个APK中的代码(包括系统的内置应用),同时却不需要对APK进行重新签名。换句话说,用这种方式修改过的APK,Android系统会认为它的签名和官方的签名是一致的,但在这个APK运行时,执行的却是恶意攻击者的代码。恶意攻击者利用这个修改过的APK,就可以用来覆盖安装原官方应用(包括系统的内置应用)。

“MasterKey”漏洞

背景知识:

Android签名的Signature Version V1 Android7.0之前的签名方式,使用jar
Signature方式对APK进行签名打包,jar Signature来自JDK。APK进行签名时会生成一个META-
INF文件夹,里面有三个文件:MANIFEST.MF,CERT.RSA,CERT.SF,是用来记录签

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值