0
点赞
收藏
分享

微信扫一扫

安全测试(五)Android APK软件安全 APP应用安全 手机软件安全 apk安全 apk反编译 应用日志窃取 apk漏洞 应用软件本身功能漏洞 高危权限泄密风险等 移动应用常规安全讲解

沐之轻语 2022-01-13 阅读 70

文章目录

一、前言

二、Android移动端安全

1、APP 接口安全 未加密

2、APP 接口安全 SQL、XSS、越权

3、APK 应用日志窃取

4、APP高危权限

 5、apk反编译

        5.1 apk反编译 简介

       5.2 apk反编译 工具

       5.3 apk反编译 查看代码混淆

       5.4 apk反编译 什么是代码混淆? 为什么要混淆?

       5.5 apk反编译 查看代码加固

       5.6 apk反编译 什么是代码加固? 为什么要加固?

       5.7 apk反编译 结束语

6、 应用软件本身功能漏洞

三、结束语


一、前言

        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、 应用软件本身功能漏洞

        应用本身的安全的问题,从业务功能层面来说。

        比如:

                应用锁实际功能缺陷,

                部分数据暴露给前端未数据过滤

                ……


三、结束语

你最累的时候,能累到什么程度?你是如何挺过去的?


如果觉得文章写不错,那就点个赞,点个收藏吧。

举报

相关推荐

0 条评论