1***@qq.com
1***@qq.com
  • 发布:2023-11-01 10:28
  • 更新:2023-11-01 11:24
  • 阅读:414

Android应用安全测评报告,出现了很多漏洞,请问大佬们都是怎么解决的啊

分类:uni-app

例如1:
运行其他可执行程序漏洞
检测目的 检测应用是否存在运行其他可执行程序漏洞
风险等级 中
风险描述 在Android程序中,通过使用java自带的Runtime.getRuntime().exec()函数,可以越过app程序,直接调用安卓系统底层Linux下的可执行程序或脚本,攻击者可以替换要执行的脚本,进行用户信息窃取,或者下载恶意程序等行为,对用户手机安全造成威胁。
检测步骤 1、对APK进行反编译
2、搜索smali文件,查找是否包含运行其他可执行程序的调用文件。是,则存在风险;否,则安全。
检测结果 存在风险(发现4处)
结果描述 该应用存在运行其他可执行程序漏洞
检测详情 1.
[文件]:
com/loc/af
[方法]:
private static b()Ljava/util/Properties;

  1. [文件]:
    com/loc/af
    [方法]:
    private static c(Ljava/lang/String;)Ljava/lang/String;

  2. [文件]:
    io/dcloud/common/constant/DataInterface
    [方法]:
    public static getSystemProperty()Ljava/lang/String;

  3. [文件]:
    io/dcloud/feature/gg/dcloud/ADHandler
    [方法]:
    private static getUT()Ljava/lang/String;

解决方案 开发者自查:
可以通java代码去实现相关功能,尽量不要通过脚本去执行程序逻辑。

例如2:
zip文件解压目录遍历漏洞
检测目的 检测App中是否存在解压zip文件时可导致目录遍历的漏洞
风险等级 中
风险描述 App在运行过程中,可能对下载的或者本地存储中的zip格式文件进行解压。由于在zip压缩包下的文件路径名中允许存在“../”字符串,而“../”在Android系统中将被解释为返回上层目录,那么攻击者可能利用多个“../”构造出不安全的zip压缩包。当app程序中使用ZipEntry.getName()解压zip文件时,没有对上级目录字符串(../)进行过滤校验,可能会导致被解压的文件发生目录跳转,解压到当前目录以外的其他目录,并且覆盖应用原有的文件。如果被覆盖掉的文件是js、so和dex等文件,可能导致拒绝服务攻击,甚至是恶意代码执行。
检测步骤 1、反编译获取应用的smali 代码文件。
2、扫描smali代码中存在zipInputstream来解析zip文件时,是否有通过压缩文件实体对象获取当前解压缩的文件名称,来过滤../字符。
检测结果 存在风险(发现3处)
结果描述 该App中存在解压zip文件时可导致目录遍历的漏洞。
检测详情 1.
[文件]:
com/amap/api/mapcore/util/bi
[方法]:
private static a(Ljava/io/File;Ljava/util/zip/ZipInputStream;JLcom/amap/api/mapcore/util/bi$c;Lcom/amap/api/mapcore/util/bi$a;)V

  1. [文件]:
    com/facebook/soloader/ApkSoSource$ApkUnpacker
    [方法]:
    protected shouldExtract(Ljava/util/zip/ZipEntry;Ljava/lang/String;)Z

  2. [文件]:
    com/taobao/weex/utils/WXFileUtils
    [方法]:
    public static extractSo(Ljava/lang/String;Ljava/lang/String;)Z

解决方案 开发者自查:当App程序中使用zipInputStream类对Zip压缩包进行解压操作时,在ZipEntry.getName()获取的文件名后,必须添加过滤代码对文件名中可能包含的“../” 进行过滤判断,以提示用户并终止可能发生的异常操作。以下为修复代码示例:
while((ZipEntry =zipInputStream.getNextEntry())!=null
{String entryName=zipEntry.getnName();
if (entryName.contains("../"))
{
throw new Exception("发现不安全的zip文件解压路径!")
}
}

2023-11-01 10:28 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

建议对apk进行加固处理

  • 1***@qq.com (作者)

    有些加固能解决,但是有些加固不能解决啊

    2023-11-01 14:08

  • DCloud_Android_ST

    回复 1***@qq.com: 使用uni安全加固 https://uniapp.dcloud.net.cn/uni-app-security.html 代码资源都可以实现加固

    2023-11-06 11:49

1***@qq.com

1***@qq.com

这么简单都不会,你先这样,然后那样,不就好了

  • 1***@qq.com (作者)

    ???

    2023-11-01 10:46

  • 3***@qq.com

    回复 1***@qq.com: 请问你的问题解决了没有,我也遇到了

    2023-11-17 12:42

要回复问题请先登录注册