移动端安全 - 安卓Android - 漏洞修复方案整理

敏感数据泄露

明文传输用户名、密码和验证码等敏感信息

MD5/Base64弱加密传输手机、密码等敏感信息

敏感信息在本地加密存储 后台服务器地址泄露。

边信道信息泄漏

  1. 在日志中对于密码等敏感信息进行加密存储。

  2. 关闭调试接口,禁止输出敏感信息。

未经用户确认调用敏感功能

不安全的本地存储-如XML文件

鉴权机制缺陷

任意文件上传

     限制文件上传格式

升级重定向

   客户端应用对升级版本和地址做有效性验证

未使用有效的token机制,导致可以绕过鉴权  
使用有效的token机制进行鉴权  
对response包进行加密  
使用HTTPS强校验机制
使用时间戳对响应有效时间做甄别
传输数据可修改,造成越权访问

 用户枚举

登录设计缺陷,存在被暴力破解风险利用业务逻辑缺陷制作短信炸弹

 

钓鱼劫持风险

在关键类的onpause中实现钓鱼劫持防护功能。
使用HTML5架构或android+HTML5混合开发,实现登陆、支付等关键页面,降低被劫持的风险。

 

代码保护不足

未混淆

未加固

代码中编写测试账户信息

密钥硬编码

   对密钥离散存储于资源文件中,并动态加载使用

服务端证书检测 - 测试客户端程序是否严格检查服务器端证书信息,避免用户访问钓鱼网站后,泄露密码等敏感信息。SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER为忽略证书验证

      对SSL证书进行强校验,包括证书是否合法、主机域名是否合法和证书的有效期。修改Allow_all_hostname_verfier

Janus安卓签名漏洞

      将App升级到最新的Signature scheme V2签名机制;

      开发者及时校验App文件的开始字节,以确保App未被篡改。

WebView漏洞
Android 4.2之前版本对addJavascriptInterface的输入参数进行过滤;
Android 4.2及之后版本,使用声明@JavascriptInterface来代替addjavascriptInterface
控制相关权限或者尽可能不要使用js2java的bridge

随机数加密破解漏洞

Intent协议解析越权漏洞

KeyStore漏洞
SQL注入漏洞
  
参数化
预编译
过滤

 

公共组件漏洞

组件Content Provider配置错误,导致数据泄漏组件Activity配置错误,导致登录页面被绕过组件Service配置错误,导致非法权限提升组件Broadcast Receiver配置错误,导致拒绝服务、非法越权

 

应用配置错误

关闭allowbackup备份关闭Debuggable属性,防止应用信息篡改泄露风险

 数据安全

SQLLite读取权限安全性
创建应用内部存储文件时,调用了openOrCreateDatabase,并将访问权限设置为MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE

私有文件泄露风险
创建应用内部存储文件时,调用了openFileOutput,并将访问权限设置为MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE,若设备被root也可进行读写。
设置为MODE_PRIVATE模式

SharedPrefs任意读写漏洞
创建应用SharedPreference时,调用了getSharedPreferences,并将访问权限设置为MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE

日志泄露风险

 

恶意软件/木马/病毒

转载于:https://www.cnblogs.com/AtesetEnginner/p/11299050.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] html中如何使用svg?

[html] html中如何使用svg&#xff1f; 1-使用embed标签 推荐优点主流浏览器都支持允许使用脚本缺点不推荐在HTML4和XHTML中使用语法<embed src"svg File Path" type"image/svgxml" width"width" height"height" pluginspage&quo…

element中select默认选中第一个_探索在网页中使用“标注”

github地址&#xff1a;https://github.com/1314mxc/yunUI &#xff0c;欢迎star&#xff01;说起“标注”&#xff0c;在HTML5之前&#xff0c;你可能想起的是各种浏览器插件&#xff0c;emmmmmmm或者说你根本不认为浏览器上可以有这种玩意。但是HTML5来了&#xff0c;这是它的…

ckeditor 框架分析 几个核心“人物”

ckeditor代码中有几个核心的内容&#xff1a; 1. (function(){})(); 2. prototype new 配合&#xff0c;继承属性方法 3. a.event.implementOn() 公共属性扩充 4. e.extend / a.tools.extend 自由扩充 5. a.on 6. j.add 1.(function(){})(); (function(){ //要运行的程序 })();…

项目管理沙龙第五次聚会

项目管理沙龙第五次聚会本次的话题从第30个项目百态模式《短铅笔》开始。“短铅笔”模式里最让人印象深刻的是这一句话“只有把用短的铅笔交上去&#xff0c;才能更换一支长铅笔”。很多人都遇过这样的公司&#xff0c;因为要所谓的“控制成本”&#xff0c;结果却把自己的员工…

算法之排序算法-选择排序与优化

package com.ebiz.sort;import java.text.SimpleDateFormat; import java.util.Date;/*** author YHj* create 2019-07-28 20:58* 选择排序*/ public class Choose {public static void main(String[] args) {int[] arr new int[80000];for (int i 0; i < 80000; i) {arr[…

python 享元模式_python 设计模式之享元(Flyweight)模式

#写在前面这个设计模式理解起来很容易。百度百科上说的有点绕口。#享元模式的定义运用共享技术来有効地支持大量细粒度对象的复用。它通过共享已经存在的对橡大幅度减少需要创建的对象数量、避免大量相似类的开销&#xff0c;从而提高系统资源的利用率。#优点相同对象只要保存一…

[html] 怎样在<pre>标签内不转义<和>符号(原样输出html标签)?

[html] 怎样在标签内不转义<和>符号&#xff08;原样输出html标签&#xff09;&#xff1f; 将HTML代码嵌入到<script typetext/html styledisplay:block>中<script type"text/html" style"display: block;">哈哈哈dfdfd</script>…

单列模式

最近在学设计模式&#xff0c;学到创建型模式的时候&#xff0c;碰到单例模式&#xff08;或叫单件模式&#xff09;&#xff0c;现在整理一下笔记。 在《Design Patterns&#xff1a;Elements of Resuable Object-Oriented Software》中的定义是&#xff1a;Ensure a class on…

算法之排序算法-直接插入排序

package com.ebiz.sort;import java.text.SimpleDateFormat; import java.util.Date;/*** author YHj* create 2019-07-29 8:56* 插入排序*/ public class Insert {public static void main(String[] args) {// int [] arr{101,34,119,1};int[] arr new int[80000];for (int i…

佳能g3800故障灯说明书_热水器维修电话|史密斯燃气热水器出现16故障码

热水器出现故障代码其实是一件很常见的事情&#xff0c;大多是住户的热水器都出现过这样的问题&#xff0c;为了防止这样的事情也发生在我身上&#xff0c;我熟读热水器说明书&#xff0c;终于参透其中的道理&#xff0c;那么接下来我为大家介绍史密斯燃气热水器出现16故障码。…

DrawImage内存不足问题

出现这种问题&#xff0c;分析如下&#xff1a; 1.图片太大&#xff0c;绘制完没有及时释放。所谓图片太大&#xff0c;一种是原始图片本身很大&#xff0c;一种是把小图片拉伸到很大的矩形区域显示。 2.图片格式不对或者参数不对。 3.图片不完整。比如图片只下载了一半&#x…

算法之排序算法-shell排序(交换法)

可以先看注释掉的分析,最后在看三层for循环 package com.ebiz.sort;import java.util.Arrays;/*** author YHj* create 2019-07-30 8:53* shell排序-交换法*/ public class Shell{public static void main(String[] args) {int [] arr{8,9,1,7,2,3,5,4,6};getResult(arr);// Sy…

git语言包安装_Git分布式版本管理系统快速入门指南

为什么要使用版本管理系统无论有没有使用过专业化工具&#xff0c;每个人都或多或少地有版本管理的需求。我们在做论文、写报告或者设计方案时&#xff0c;因为难以避免的不断改动&#xff0c;总会形成很多个不同的版本&#xff0c;我们可能会用“某某设计方案_20180910”这样加…

[html] 如何放大点击的区域?

[html] 如何放大点击的区域&#xff1f; <div class"button">点我</div><style>.button{position:relative;}.button::after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;}</style>个人简介 我…

(十)、java内部类与内部类的闭包和回调

一、成员内部类 1.可以把一个内部类看做是一个成员。成员内部类可以无条件访问外部类的所有成员属性和成员方法。 class OutterClass {//外部类private int in 0;static int inn4;public OutterClass(int in) {this.in in;}class InnerClass { //内部类public void outpu…

vb.net中滚动条一直显示没有数据时也显示_Android Studio 中 System Trace 的新增功能...

Android Studio 中 System Trace 的新增功能在 Android Studio 4.0 中&#xff0c;我们已经对 CPU Profiler 的 UI 做了大量调整来提供更加直观的工作流记录&#xff0c;而在 Android Studio 4.1 中&#xff0c;我们基于开发者们的反馈对此功能进行了持续改进&#xff0c;并且新…

[html] DOM节点的根节点是不是body?

[html] DOM节点的根节点是不是body&#xff1f; 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它提供了对文档的结构化的表述&#xff0c;并定义了一种方式可以使从程序中对该结构进行访问&#xff0c;从而改变文档的结构&#xff0c;样式和内容。DOM 将文档解析为一个由节…

第一节 Memcached分布式缓存入门

关于Memcached的博文太多了&#xff0c;以下是个人学习的收集整理。 本节讨论问题: 简单介绍与应用下载安装注意事项简单测试Memcached分布式原理 一、介绍与应用 在常规的WEB开发下&#xff0c;基本都会利用到缓存用以降低对数据库的压力&#xff0c;提高访问速度。有时候缓存…

tomcat 拦截指定url_一口气说出 过滤器 和 拦截器 6个区别,别再傻傻分不清了

点击“ 程序员内点事 ”关注&#xff0c;选择“ 设置星标 ”坚持学习&#xff0c;好文每日送达&#xff01;周末有个小伙伴加我微信&#xff0c;向我请教了一个问题&#xff1a;老哥&#xff0c;「过滤器 (Filter) 和 拦截器 (Interceptor) 有啥区别啊&#xff1f;」 听到题目我…

[html] 如何使用纯html制作一个进度条?

[html] 如何使用纯html制作一个进度条&#xff1f; HTML中的progress () 元素用来显示一项任务的完成进度.虽然规范中没有规定该元素具体如何显示,浏览器开发商可以自己决定,但通常情况下,该元素都显示为一个进度条形式.个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后…