夜雨聆风学习资料网

ARTICLE · 1087327

好靶场月赛-APP渗透测试

好靶场月赛-APP渗透测试

unsetunset前言unsetunset

中秋假期体验卡已到期,在生存三天就可以领取国庆假期体验卡了,再浅浅的坚持一下

之前没有接触过APP的一个渗透,好靶场今天刚好有一个APP渗透赛,模拟实战,比赛形式很新颖,要不是还要收拾东西,I can do it all day

unsetunset渗透背景unsetunset

早上看到这个背景的时候就被深深的吸引住了,真的非常的炫酷,迫不及待的打开环境测试一波

打开靶场下载APK,放入模拟器中运行抓包,开始测试

unsetunset测试思路unsetunset

短信轰炸

这里存在一个验证码发送功能,尝试一下短信轰炸

这里对短信的频率没有做校验,存在短信轰炸漏洞

IDOR遍历

通过JADX对该APK进行反编译,提取出其中所有包含api/的接口

 认证相关 (Auth)
 - POST /api/sms/send - 发送短信验证码 {phone}
 - POST /api/user/register - 注册 {username, password(sha256), phone, code}
 - POST /api/user/login - 登录 {username, password(sha256)}
 - POST /api/user/reset - 重置密码 {phone, code, password(sha256)}
 - POST /api/user/logout - 登出 {}

 用户信息
 - GET /api/user/info - 获取用户信息
 - GET /api/user/feedback - 获取我的反馈
 - POST /api/user/feedback - 提交反馈 {content, contact}
 - GET /api/feedback/query?id= - 查询反馈

 商品/配置
 - GET /api/health - 健康检查
 - GET /api/config - 获取配置
 - GET /api/products - 商品列表

 订单
 - GET /api/orders - 订单列表
 - POST /api/orders - 下单 
 - POST /api/orders/{id}/confirm - 确认收货
 - POST /api/orders/{id}/cancel - 取消订单

 钱包/积分
 - POST /api/wallet/recharge - 充值 {amount}
 - GET /api/wallet/txns - 钱包交易记录
 - POST /api/points/redeem - 积分兑换 {points}
 - GET /api/points/log - 积分日志

 优惠券
 - GET /api/coupons - 我的优惠券
 - GET /api/coupons/pool - 优惠券池
 - POST /api/coupons/claim - 领取优惠券

对这里的/api/feedback/query?id=这个接口尝试进行遍历

发现存在IDOR遍历

用户接管

/api/user/reset这个接口的功能是对密码进行重置,这里尝试接管该账户 因为之前的验证码接口也没有进行身份验证,这里可以获取该用户的验证码

重置密码后登录

0元购

这里查看这个人的订单

实付0元,看来这里还存在支付验证漏洞 通过抓包发现付款的接口为POST /api/orders这个接口,只存在两个参数,id和qty

这里猜测服务端会解析items这个对象,但不会将具体字段与数据库中的进行匹配,这里我们可以添加price字段,设置为0,看看是否会扣费

这里观察响应中的total字段,可以放心值由19.9变为了0

成功实现0元购

unsetunset反思unsetunset

第一次对APP进行测试,重点还是放在了接口测试上,经验不足,还得继续学习。

对了,师傅们觉得我可以走到了那杯奶茶了吗

相关学习资料