0

0

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

王林

王林

发布时间:2023-05-17 21:16:19

|

1681人浏览过

|

来源于亿速云

转载

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

着手开始

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

https://apk.support/apk-downloaderhttps://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

PixVerse
PixVerse

PixVerse是一款强大的AI视频生成工具,可以轻松地将多种输入转化为令人惊叹的视频。

下载

静态分析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的代码了。当我坐下来按照我的检查列表分析时,不久我就发现其中一个叫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中存储一些密码凭据相关的信息,即使有必要也需要进行一些恰当的加密处理。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

834

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

738

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

734

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

399

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16926

2023.08.03

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java 教程
Java 教程

共578课时 | 46.7万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号