admin 管理员组文章数量: 1184232
前言
本文主要是app测试中常见工具的使用,都是报告上的东西主要是备忘,萌新笔记大佬轻喷。
客户端应用测试
一、数字签名验证:
1.数字签名作用:
①.签名就是app的身份,安卓系统只会接受有证书app的安装请求。
②.当两个apk包名相同时,系统就会对以安装的apk进行覆盖,这时就需要两个apk的签名一致。
总的来说数字签名的作用就是为了让内容不被篡改。
2.通用证书,第三方证书的不安全性:
①如果攻击者拿到了开发者的签名证书,就可以直接替换掉原apk的内容。恶意app会被当做正常app被下载。
3.利用jarsigner进行检查安装包的签名。
①进入jdk工具目录,进行签名验证。
②这里我们可以看到签名者,单位,地区等信息。现在的加密算法要求都是SHA2。以下的两个例子都是自定义的证书。
4.证书的生成:
①使用jdk自带的工具:keytool
常用参数:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书 -v 显示密钥库中的证书详细信息
-keyalg 指定密钥的算法 (如 RSA DSA(如果不指定默认采用DSA))
-keysize 指定密钥长度
-validity 指定创建的证书有效期多少天
-alias 产生别名
-keypass 别名密码
-keypass 指定别名条目的密码(私钥的密码)
-list 显示密钥库中的证书信息
-validity 有效天数
制作语句:
keytool.exe -genkey -v -keystore 目录/new2-key -alias hhh -keypass 123456 -keyalg RSA -keysize 2048 -validity 2000
生成签名证书截图:
查看证书信息:
keytool -v -list -keystore C:\Users\Administrator\Desktop\测试文件\bianyi\new2-key
5.apk签名:
①使用工具:jarsigner
常用参数:
-keystore 密钥库位置
-storetype 密钥库类型
-signedjar 签名算法的名称
-digestalg 摘要算法的名称
-verify 验证已签名的 JAR 文件
案例演示:
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA1 -keystore 签名证书地址 需要签名apk位置 别名
如果要自己测试的可以在网上随便下载一个app,利用apktool解包之后再打包。这样就可以验证签名是否成功。
java -jar apktool的名字 d(反编译) 要解包的apk -o(输出) 文件名
java -jar apktool的名字 b(打包) 要打包的文件夹名字
在这里我们可以顺便验证一下应用的完整性,在解包后对apk内容进行修改,比如更改log图片,之后进行打包和签名。在安装后查看应用是否存在自校验。
二、apk反编译
1.更改apk后缀为.zip进行文件解压:
2.对classes.dex文件进行反编译:
案例演示:
d2j-dex2jar.bat C:\Users\Administrator\Desktop\测试文件\1\classes.dex
3.使用jd-gui工具阅读jar:
4.加壳识别:
①可以在.so库里进行特征识别
案例演示:
比如这个apk就是用的邦邦企业版。
②包名查看
③apk查壳工具
三、本地文件安全测试
1.本地文件权限配置安全:
①本地权限查看目的:
检查应用文件权限后三位是否为空,最多能有一个执行位。这样的目的是为了让敏感信息不会泄露,除了自己以外的其他人不能进行读写操作。
②利用adb shell进行文件查看:
这里我是用的夜神模拟器自带的shell进行连接,如果是用真机连接的话需要进行root,不然很多命令都是没有权限执行。
③案例演示:
进入/data/data/目录下查看apk的文件目录权限是否设置安全。
2.本地文件内容安全:
①测试文件内容安全目的:
确保app目录中的文件没有泄露敏感信息,常见测试点为文本文件,xml文件,db文件。
可以直接使用cat命令也可以把文件pull出来阅读。
adb pull 需要复制文件 粘贴地址
3.本地日志内容安全:
①日志文件读取:
直接adb logcat就可以查看日志文件了。
常用logcat命令:
adb logcat -f 将日志输出到文件, 默认输出到标准输出流中
-s 设置输出日志的标签, 只显示该标签的日志
-d 将缓存的日志输出到屏幕上, 并且不会阻塞
adb logcat >C:\Users\Administrator\Desktop\moniqi\1.txt 将日志发送到该目录下,并创建1.txt文件
②案例演示:
参考文章
Android安全开发之通用签名风险——阿里聚安全
APK查壳特征识别
版权声明:本文标题:app测试基础篇 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1765754659a3412029.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论