对支付软件的漏洞利用
考点
- 安卓应用的简单逆向、反编译、patch、重打包
- 对安卓应用的通信流量进行抓取和分析
- XXE漏洞及其利用
思路
- 首先patch掉禁用注册的源码
- 通过git泄露获得服务端web源码
- 源码审计
- 通过xxe漏洞获得key
- 利用key伪造交易信息给自己充值
step1 获取到apk
首先我拿到了一款支付软件的安装包,我们先在模拟器中安装好这个软件,我们发现这里的注册按钮是无法使用的,如下图:
使用的三个软件都是免费的,下载地址Google一下也能轻易的搜到
apktool下载地址
dex2jar下载地址
jd-gui下载地址
一共是4个按钮,不同的按钮是有不同的用处,我们也了解到整个程序的使用是基于web服务的,根据上级给的IP地址,我们使用漏扫工具对其进行扫描,发现其存在git源码泄露漏洞,利用漏洞我们下载源码,一共是4个php页面。
step3 代码审计
因为平时一直从事re的题目,所以我将代码审计理解为逆向中的静态分析,简单的来说就是检查源代码中的安全缺陷,是否存在安全隐患。git源码泄露的php页面分别是:api.php,key.php,notify.php.index.php.
通过代码审计我们发现了,其中的核心代码是在notify.php,整个程序的流程是,充值,钱够数,买flag,而notify.php中就是充值的过程。
deposit的信息获取位于api.php中,显示的flag价格是9999999999
在burp中开启拦截,点击充值,出现界面如下图,session_id出现了,之后我们利用脚本求出sign值。
关闭拦截,我们的余额发生了变化,这个时候就可以购买flag了
![[CTF]对支付软件的漏洞利用buyflag](https://www.iruanshi.com/tt5/wp-content/uploads/2022/12/slt.png)
整个题目的过程就是这样,希望大家可以有所收获
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!