【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

admin 2023年4月9日12:40:20评论61 views字数 870阅读2分54秒阅读模式

加作者微信,邀请进交流群。

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略


本文为作者前期作品,发布在Freebuf。

前言

该靶机目前全球攻克人数为780人,国内暂无相关分析,国外内容只有几篇(该文章于去年留存本地目前不知什么状况),且均以编写多进程脚本来实现条件竞争,多进程运行不稳定很难达到预期效果。该文使用burp进行漏洞利用,简单易懂。

信息收集

访问网站,查看页面基本信息

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

查看源代码、检测页面内容、控制台、网络请求均无异常及突破。

该网站为自动售货机,将纸币移动至投币口处,可根据左侧物品的物价及代号,在右侧按键处按下代号,即可自动出货。

经以上逻辑共抓包3条请求

请求1:纸币投入时

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

请求2:按键购买商品时

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

请求3:点击红色按钮,重置

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

观察前后端交互逻辑,未能判断flag的获取方式。进行代码分析,以进一步攻克。

代码分析

/api/purchase

购买商品时,代码如下

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

1》当user==undefined时,注册用户信息,用户姓名、优惠劵金额为0等信息

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

2》当购买商品C8时,读取/app/flag文件并将文件内容展示响应包中。

优惠劵一次只能兑换一张,一张面值$1,可是C8商品$13.37,意味着需要兑换14张优惠劵。那么该如何绕过一次只能兑换一张限制?可使用条件竞争-并发兑换。接下来查看兑换优惠劵处代码,以进一步验证猜想。

/api/coupons/apply

兑换优惠劵处代码

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

由上可见,先判断优惠劵是否存在,也就是是否被使用过。若未使用则兑换金币,将个人信息及金币更新到数据库中。此处若同一时间兑换同一张优惠劵,则可兑换多张金币到个人账户中,故存在条件竞争漏洞。

漏洞利用

获取个人session

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

使用session并发兑换优惠劵为金币,存入到个人账户中

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

可见成功兑换19张优惠劵

使用金币并携带session去兑换商品

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

由此得到flag在响应包中。



合抱之木,生于毫末。

九层之台,起于累土。

每一次努力和积累,都在为网络安全领域的发展贡献自己的一份力量。

感谢您一直以来的支持和关注!

加作者微信,邀请进交流群。

【Hack The Box】蓝队入门Diogenes Rage通关详细攻略


原文始发于微信公众号(安全女巫):【Hack The Box】蓝队入门Diogenes Rage通关详细攻略

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月9日12:40:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【Hack The Box】蓝队入门Diogenes Rage通关详细攻略https://cn-sec.com/archives/1662772.html

发表评论

匿名网友 填写信息