如何使用 Frida 漏洞利用加密移动 API 中的 IDOR
原文链接: https://mp.weixin.qq.com/s?__biz=MzIzMTIzNTM0MA==&mid=2247497892&idx=1&sn=a1df282edd7c66180e2301060336e771
如何使用 Frida 漏洞利用加密移动 API 中的 IDOR
迪哥讲事 2025-07-15 12:51
免责声明
由于传播、利用本公众号红云谈安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号红云谈安全及作者不为此
承担任何责任,一旦造成后果请自行承担!
如有侵权烦请告知,我们会立即删除并致歉。谢谢!请在授权的站点测试,遵守网络安全法!
仅供
学习使用,如若非法他用,与平台和本文作者无关,需自行负责!
我写这篇博客是为了分享我最近在Android应用程序渗透测试中的经验。我偶然发现了一个可以显示用户银行卡信息的应用程序。
使用的工具“Jadx-GUI、Frida、Burp-Suite”
在对 Android 应用程序进行动态测试时,我遇到了一个 API 调用,它的请求体和响应体都是加密的。由于整个应用程序的 API 调用都是非加密的,所以这看起来很奇怪。然而,这也很合理,因为该 API 调用可能包含卡信息(该 API 调用以
showCard
结尾)。
现在是时候找出 API 调用传递了哪些数据,以及它从服务器获取了哪些数据。为此,我需要进行一些静态代码分析。我向 Jadx-GUI 寻求帮助。在 Jadx、我的小脑袋和大量咖啡因的帮助下,我找到了
One Piece
(代码)。
加密背后的罪魁祸首
解密背后的罪魁祸首
从这两段代码中,我了解到“
JSON ”值分别从函数“
getJsonEncryptedValues()
和“
getDecryptedJsonValues() ”
传入和传出。我们可以使用 Frida 查看加密前后的这些值。现在是时候用 Frida 脚本来施展魔法了。
哒哒….!
请求/响应主体解密的代码就在这里。是时候揭开开发者的秘密了。
秘密就是秘密。
在请求主体中,我发现了一个参数(“
mobileNumber”
),可以尝试IDOR,但加密已经到位。因此,我决定进一步研究静态代码。
在查看静态代码时,我发现一个名为“
CardPrefs
”的类,其中包含一个名为“
getMobileNo()
”的函数,用于获取用户的手机号码。
我编写了另一组代码来控制“
getMobileNo()
”函数。
在这里,我们可以将手机号码提供给 IDOR 的“
ret”
参数。现在是时候一次性运行整个代码了。
正如我所料,该应用程序容易受到 IDOR 攻击。
正在获取 81
**8 的卡详细信息
如果你是一个长期主义者,欢迎加入我的知识星球,本星球日日更新,绝非简单搬运,包含号主大量一线实战,全网独一无二,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
部分更新内容展示: