Android静态安全检测 -> Hash算法不安全
来源:互联网 发布:林书豪nba数据 编辑:程序博客网 时间:2024/06/04 18:46
Hash算法不安全 - MessageDigest.getInstance方法
一、API
1. 继承关系
【1】java.lang.Object
【2】java.security.MessageDigestSpi
【3】java.security.MessageDigest
2. 主要方法
【1】getInstance(String algorithm)
【2】getInstance(String algorithm, String provider)
【3】getInstance(String algorithm, Provider provider)
【4】其他方法
https://developer.android.com/reference/java/security/MessageDigest.html
3. 示例
【1】使用MD5哈希算法的语句
【2】Android提供的MessageDigest算法
【3】参考链接
http://hubingforever.blog.163.com/blog/static/171040579201210781650340/
二、触发条件
1. 调用MessageDigest类的getInstance方法
【1】对应到smali语句的特征
invoke-static {v1}, Ljava/security/MessageDigest;->
getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
2. 寄存器赋值的判断
const-string v1, "MD5"
const-string v1, "SHA-1"
三、漏洞原理
【1】使用不安全的Hash算法(MD5/SHA-1)加密信息,存在被破解的风险
【2】更多内容
http://www.droidsec.cn/android应用安全开发之浅谈加密算法的坑/
四、修复建议
【1】建议使用SHA-256等安全性更高的Hash算法
0 0
- Android静态安全检测 -> Hash算法不安全
- Android静态安全检测 -> 随机数使用不安全
- Android安全-HASH算法
- Android静态安全检测 -> 代码混淆检测
- Android静态安全检测 -> 系统Root检测
- Android静态安全检测 -> 代码动态加载安全检测
- Android静态安全检测 -> allowBackup标志位
- Android静态安全检测 -> 文件任意读写
- Android静态安全检测 -> SharedPreferences任意读写
- Android静态安全检测 -> debuggable标志位
- Android静态安全检测 -> 数据库文件任意读写
- Android静态安全检测 -> Activity组件暴露
- Android静态安全检测 -> Service组件暴露
- Android静态安全检测 -> PendingIntent误用风险
- Android静态安全检测 -> 日志泄漏风险
- Android静态安全检测 -> 主机名弱校验
- Android静态安全检测 -> 证书弱校验
- Android静态安全检测 -> 明文数字证书风险
- [Codeforces 66C] Petya and File System (模拟)
- 在Mac pro上配置adb命令
- 欢迎使用CSDN-markdown编辑器
- Ceph高级工具介绍之ceph-objectstore-tool的使用
- ifstat安装与使用
- Android静态安全检测 -> Hash算法不安全
- .net 编译报错:编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件。
- Qt中调用OpenCV函数库时Crashed问题的解决。
- 通用验证码类
- Centos上VNC 启动和关闭 常见问题汇总
- 移动端的获取焦点和失去焦点事件
- Android Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift+I无效)?
- Swift基础(二十)UISwitch And UIStepper
- 【杭电】[1061]Rightmost Digit