2025移动互联网APP安全积分争夺赛初赛记录

admin 2025年6月3日09:32:05评论12 views字数 1944阅读6分28秒阅读模式

GoodLuck

题目考点

一个简单的算法逆向flag格式:flag{youget}

解题思路

反编译后,看见一个hash值

2025移动互联网APP安全积分争夺赛初赛记录

跟进函数,推测是md5加密

2025移动互联网APP安全积分争夺赛初赛记录

Cmd5得flag{r9d3jv0}

2025移动互联网APP安全积分争夺赛初赛记录

FLAG

flag{r9d3jv0}

Privacy Master(1)

题目考点

在用户同意隐私政策前APP请求了什么信息,按照请求先后顺序回答,英文逗号分隔,回答内容为 android.permission.xxxx 后面的xxxx 大写回答(以安卓11参考回答,请注意提交次数限制)

解题思路

根据题目要求,反编译apk后搜索隐私定位到mainactivity

2025移动互联网APP安全积分争夺赛初赛记录

很明显,答案为:READ_PHONE_STATE, ACCESS_FINE_LOCATION

FLAG

READ_PHONE_STATE, ACCESS_FINE_LOCATION

魔法文件(1)

题目考点

该app存在非合规权限申请,当运行环境为最新Android版本时,请回答非合规请求的权限(如有多个非合规权限,按照请求顺序,英文逗号分隔,回答内容为 android.permission.xxxx 后面的xxxx 大写回答,请注意提交次数限制)

解题思路

还是隐私政策,搜索隐私搜不到关键字,尝试搜索showPrivacy,定位到FileListActivity

2025移动互联网APP安全积分争夺赛初赛记录

安装程序,发现该程序是一个文件管理器,安装后向用户申请所有文件的权限

2025移动互联网APP安全积分争夺赛初赛记录

而查看隐私政策内容中,并未提及该权限申请,

2025移动互联网APP安全积分争夺赛初赛记录

因此不合规项为:MANAGE_EXTERNAL_STORAGE

2025移动互联网APP安全积分争夺赛初赛记录

FLAG

MANAGE_EXTERNAL_STORAGE

Harmony

题目考点

鸿蒙开发人员由于开发疏忽,不正确的使用了危险函数,导致用户凭证泄露,找出关键点,按程序提示提交答案

解题思路

这是一道鸿蒙逆向题,解压得到文件Harmony.app,再次解压该文件得到hap文件,再次解压查找abc文件,将其导入jadx-dev-all

2025移动互联网APP安全积分争夺赛初赛记录

分析上图代码,可知flag为Flag{md5(明文+md5(明文))}

在查看hap文件中的resources.index时,发现一串md5值

2025移动互联网APP安全积分争夺赛初赛记录

md5解密得goodgood

2025移动互联网APP安全积分争夺赛初赛记录

因此flag为:Flag{ee51e080d1db85f9927fe87aa92267bb}

2025移动互联网APP安全积分争夺赛初赛记录

FLAG

Flag{ee51e080d1db85f9927fe87aa92267bb}

这个木马在干啥

题目考点

这是个恶意木马样本,前面抓了个数据包,现在发现app服务器无法访问了,请你看看木马在干啥?

解题思路

解压得到一个apk和一个txt,很明显,解密caqy73/cJfwjZFHwMk5YGw==即可得到flag

2025移动互联网APP安全积分争夺赛初赛记录

反编译app,分析可知ooxx为解密函数

2025移动互联网APP安全积分争夺赛初赛记录

那就frida一把出flag{7$1%j&6gh2}

2025移动互联网APP安全积分争夺赛初赛记录
let MainActivity = Java.use("com.ctf.backdoor.MainActivity");MainActivity["ooxx"].implementation = function (str) {console.log(`MainActivity.ooxx is called: str=${str}`);let result = this["ooxx"](str);console.log(`MainActivity.ooxx result=${result}`);return result;};let encryptedText = "caqy73/cJfwjZFHwMk5YGw==";MainActivity.ooxx(encryptedText);

FLAG

flag{7$1%j&6gh2}

babyapk

题目考点

简单的安卓逆向

解题思路

反编译如下图,可见c为密文字段

2025移动互联网APP安全积分争夺赛初赛记录

这里需要查看baby_xor函数,可知实在native,因此ida分析so

2025移动互联网APP安全积分争夺赛初赛记录

关键逻辑在于异或key

2025移动互联网APP安全积分争夺赛初赛记录

注意到key还被hide_key处理过

2025移动互联网APP安全积分争夺赛初赛记录

因此可以写出脚本获得flag:flag{1873832fa175b6adc9b1a9df42d04a3c}

key=[0x56^0x47,0x57^0x32,0x58^0x11,0x59^0x12]s=[119, 9, 40, 44, 106, 84, 113, 124, 34, 93, 122, 121, 119, 4, 120, 124, 36, 7, 127, 42, 117, 6, 112, 41, 32, 4, 112, 47, 119, 81, 123, 47, 33, 81, 40, 120, 114, 24]flag=""for i in range(len(s)):  flag+=chr(s[i]^key[i%4])  print(flag)

FLAG

flag{1873832fa175b6adc9b1a9df42d04a3c}

原文始发于微信公众号(土拨鼠的安全屋):2025移动互联网APP安全积分争夺赛初赛记录

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月3日09:32:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   2025移动互联网APP安全积分争夺赛初赛记录https://cn-sec.com/archives/4125749.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息