静态分析APK文件发现APP应用硬编码密码泄露的示例分析

今天给大家分享的Writeup是一篇关于安卓APP的静态分析,由于该APP存在不安全存储和硬编码密码泄露问题,导致可以登录其短信管理系统,劫持其短信接口配置,以下为相关分析研究,。

着手开始

由于众测项目范围涉及到相关厂商的某款安卓APP,所以我就在我的安卓手机中下载了这款APP应用,并把其APK文件拿出来做静态分析。在此推荐两个原生快速的APK下载网址:

https://apk.support/apk-downloader

https://apkpure.com/

获得了APK文件之后,我们需要对它进行反编译找到其中的Java类文件进行分析,这里可以安装以下两个工具:

https://github.com/pxb1988/dex2jar

https://mac.filehorse.com/download-jd-gui-java-decompiler/

安装了上述工具后,我们把目标APP的APK文件放到另一个单独文件夹中,把其后缀由.apk更改为.zip,然后解压zip文件,之后我们就可以看到一些xml文档、路径文件、模板资源文件等,在这些文件中我们的目标是classes.dex文件,解压后一般会发现一个或多个classes.dex文件。接着,我们用dex2jar把dex文件转换为java文件,使用以下命令:

dex2jar classes.dex

如果该命令不管用,那么可以用dex2jar的另外一个版本命令:

d2j-dex2jar classes.dex

静态分析APK文件发现APP应用硬编码密码泄露的示例分析运行上述命令之后会在文件夹内生成如classes_dex2jar.jar的java文件,有了该文件后,我们就要用另一个好用的工具来对它反编译了,这里我个人喜欢用的是JD-GUI,https://github.com/java-decompiler/jd-gui,用它打开生成的jar文件后我们就能看到很多java资源文件,还能把这些不同资源文件进行保存阅读。

静态分析APK文件发现APP应用硬编码密码泄露的示例分析静态分析APK文件发现APP应用硬编码密码泄露的示例分析有了保存的资源文件代码,我们要尽量从中找出一些问题来,这里我推荐一个工具-动化移动安全渗透测试框架: Mobile Security Framework(MobSF),它是一款智能、一体化的开源移动应用(Android/iOS)自动渗透测试框架,支持二进制文件(APK & IPA)和源码压缩包,用它可以进行静态和动态的分析。

代码分析

做好了上述工作后,我们就可以认真分析安卓APP中的代码了,回到我们的目标APP中。当我坐下来按照我的检查列表分析时,不久我就发现其中一个叫Constant.java的文件,它位于APP的SMS路径下,包含了一些零散的信息,如 Username、Loacation、Password等硬编码服务信息以及短信发送接口(SMS API)的URL路径。大概情况如下:

静态分析APK文件发现APP应用硬编码密码泄露的示例分析进一步分析发现,该APP使用了reson8公司的短信即时发送平台进行商业化推广,https://www.reson8.ae/,我浏览了reson8公司网站,发现其具备用户登录接口,所以我就想到了上述静态分析中泄露的Username和Password信息,直接把它拿来这里登录用看看,果然一输入提交我就进入了目标APP公司的短信发送管理系统了:

静态分析APK文件发现APP应用硬编码密码泄露的示例分析静态分析APK文件发现APP应用硬编码密码泄露的示例分析

该管理系统就是一个SMS API网关,通过它可以实现短信定向发送设置,营销升级和充值等管理操作,更关键的是可以下载用户的手机号码。

总结

在对APP做动态和其它分析之前,建议对其做一些静态分析,可以按照自己的检查列表依次进行,从中或许可以获取到一些意想不到的零散信息。对于APP应用公司来说,千万要避免在APP中存储一些密码凭据相关的信息,即使有必要也需要进行一些恰当的加密处理。

看完上述内容,你们掌握静态分析APK文件发现APP应用硬编码密码泄露的示例分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

文章标题:静态分析APK文件发现APP应用硬编码密码泄露的示例分析,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/25034

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
上一篇 2022年9月15日 上午1:43
下一篇 2022年9月15日 上午1:44

相关推荐

  • 2024年9款优质CRM系统全方位解析

    文章介绍的工具有:纷享销客、Zoho CRM、八百客、红圈通、简道云、简信CRM、Salesforce、HubSpot CRM、Apptivo。 在选择合适的CRM系统时,许多企业面临着功能繁多、选择困难的痛点。对于中小企业来说,找到一个既能提高客户关系管理效率,又能适应业务扩展的CRM系统尤为重要…

    2024年7月25日
    1600
  • 数据库权限关系图表是什么

    数据库权限关系图表是一种以图表形式展示数据库权限分配和管理的工具。它可以有效地帮助我们理解和管理数据库中的各种权限关系。数据库权限关系图表主要包含以下几个部分:数据对象、用户(或用户组)、权限类型、权限级别、权限状态等。其中,数据对象是权限关系图表中的核心元素,它代表了数据库中的各种数据资源,如表、…

    2024年7月22日
    200
  • 诚信数据库是什么意思

    诚信数据库是一种收集、存储和管理个人或组织诚信信息的系统。它是一种用于评估和管理个人或组织行为的工具,通常由政府、商业组织或者非营利组织进行运营。诚信数据库的主要功能包括:1、评估个人或组织的诚信状况;2、提供决策支持;3、预防和控制风险;4、促进社会信用体系建设。 在这四大功能中,评估个人或组织的…

    2024年7月22日
    400
  • 数据库期末关系代数是什么

    关系代数是一种对关系进行操作的代数系统,是关系模型的数学基础,主要用于从关系数据库中检索数据。其操作包括选择、投影、并集、差集、笛卡尔积、连接、除法等。其中,选择操作是对关系中的元组进行筛选,只保留满足某一条件的元组;投影操作则是从关系中选择出一部分属性构造一个新的关系。 一、选择操作 选择操作是关…

    2024年7月22日
    700
  • mysql建立数据库用什么命令

    在MySQL中,我们使用"CREATE DATABASE"命令来创建数据库。这是一个非常简单且基础的命令,其语法为:CREATE DATABASE 数据库名。在这个命令中,“CREATE DATABASE”是固定的,而“数据库名”则是你要创建的数据库的名称,可以自己设定。例如,如…

    2024年7月22日
    500
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部