文章目录
一、前言
Android移动端APP应用安全 手机软件安全 Android APK软件安全 apk安全 apk反编译 应用日志窃取 apk漏洞 应用软件本身功能漏洞 高危权限泄密风险等 移动应用常规安全讲解。
本文章列表说明无实际攻击泄露案例,仅拓展方向和技巧,请自行拓展。
二、Android移动端安全
1、APP 接口安全 未加密
一般的应用由Service和Client两端构成,Client这里指Android应用APK,Client和Service交互数据传输过程中数据是明文或加密数据。
如果Client与Service通信以明文方式传输会抓包分析,爬虫获取信息或接口调试恶意串改数据发包,也有尝试暴力登陆破解等
2、APP 接口安全 SQL、XSS、越权
具体请移步,若需要更详细更深入学习专项请去专研
安全测试 (一) web常规安全漏洞问题介绍和防范说明,如:SQL注入攻击、XSS跨站点脚本攻击、JS注入、注释与异常信息泄露、跨站点请求伪造、路径遍历与强制浏览、越权访问类常见网络安全问题是什么?_Benjamin CSDN博客-CSDN博客
3、APK 应用日志窃取
应用日志可能会暴露调试信息,接口请求信息,解密数据或其他有信息,日志分析收集
列举过滤微信应用日志示例
$ adb shell ps -A|grep com.tencent.mm
u0_a560 8517 689 16708652 476716 0 0 S com.tencent.mm:appbrand0
u0_a560 14707 689 7673004 163788 0 0 S com.tencent.mm:push
u0_a560 14779 689 33232408 616000 0 0 S com.tencent.mm
u0_a560 15070 689 25636884 466820 0 0 S com.tencent.mm:appbrand1
$ adb logcat|grep 14779
01-11 13:30:58.125 14779 14779 I LoadedApk: We unbound before receiving the connection,name:ComponentInfo{com.tencent.mm/com.tencent.mm.plugin.normsg.NormsgDataService}
01-11 13:30:58.174 14779 14779 I chatty : uid=10560(com.tencent.mm) identical 9 lines
未捕获到有效信息,无聊的人已经去尝试其他app了
4、APP高危权限
使用高危权限可能面对隐私权限应用被下架的风险,窃取用户信息或泄密风险等
列举
5、apk反编译
5.1 apk反编译 简介
xx工具介绍可以让您轻松将任何APK安装包进行反编译,替换应用程序界面上的任何文字和图片,并且通过代码级别的修改,实现汉化、破解、功能增强,甚至可以在任何的界面添加自定义的代码和功能。本软件还提供多渠道打包工具,无需源代码,直接通过APK安装包进行多渠道打包。本软件提供的反编译功能,仅供安卓开发爱好者对安装包进行反编译研究之用,严禁将反编译之后的安装包作为商业用途。如有违反,与本软件无关。
5.2 apk反编译 工具
推荐JADX,兼容Windows、Mac打开即用方便快捷。
官网GitHub地址
https://github.com/skylot/jadx
5.3 apk反编译 查看代码混淆
混淆代码展示
娱乐大师部分检索示例
5.4 apk反编译 什么是代码混淆? 为什么要混淆?
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。已经存在许多种功能各异的代码混淆器。
将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归,精简中间变量,等等。打乱代码的格式。比如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等等。
5.5 apk反编译 查看代码加固
详情请移步本人历史博客 https://blog.csdn.net/qq_25305833/article/details/100579425
判断apk是否加固或混淆,Python + dex2jar-2.0实现方法_Benjamin CSDN博客-CSDN博客_apk是否加固
5.6 apk反编译 什么是代码加固? 为什么要加固?
代码混淆仅提搞了代码的阅读难度。代码混淆并不能从根本上阻止反编译等。因为代码混淆仅仅提高了阅读难度,但并不能真正阻止反编译。因此,对于高安全要求的场景,代码混淆并不足够安全。
加固是多维度的安全防护方案,包括反破解、反逆向、防篡改等,可以防止应用被各类常见破解工具逆向,安全性要远大于单纯的代码混淆。
5.7 apk反编译 结束语
上述代码混淆和加固只是简单介绍,实际远不止眼前看到的这样……
6、 应用软件本身功能漏洞
应用本身的安全的问题,从业务功能层面来说。
比如:
应用锁实际功能缺陷,
部分数据暴露给前端未数据过滤
……
三、结束语
你最累的时候,能累到什么程度?你是如何挺过去的?
如果觉得文章写不错,那就点个赞,点个收藏吧。