第二届“Parloo”CTF应急响应挑战赛【剖分】

靶场地址:天狩CTF竞赛平台

进入靶场--CatBank

发现登录、注册界面,先随便注册一个账号

 

分析一下此页面,可以转账,可以乞讨,还有要100万的信息,那么可不可以注册两个账户,一个给另一个转账呢,再注册一个账号,看看用户列表有没有刚注册的账户 

ok,可以看到第一个注册的账户,那么进行转账

 

ok,转账成功,再登录第一个账号,然后给第二个用户转账100万以上,flag出来

 此题的考点在哪,嗯没有想到,这题应该是道签到题,多尝试一下就能够出flag。

进入靶场--

一个输入URL界面,先进行目录爆破,再看看是什么类型的题目,这里我用的是dirserch,速度较快 

ok,出现admin,访问一下

 

意思是需要本地访问,进行抓包,请求头加上

X-Forwarded-For:127.0.0.1 

 

出现flag的获得方式,分析一下代码

  // 定义获取flag的函数
function getFlag() {
    // 使用fetch API向服务器发起GET请求,访问/admin/flag路径
    fetch('/admin/flag', {
        // 设置请求头,添加内部认证信息
        headers: {
            // 自定义认证头,用于服务器验证请求合法性
            'X-Internal-Auth': 'cateye-internal-000' // 固定认证凭证,可能存在安全风险
        }
    })
    // 处理响应,将响应体解析为JSON格式
    .then(response => response.json()) // 自动转换JSON响应为JavaScript对象
    // 处理解析后的数据
    .then(data => {
        // 将获取的flag或错误信息显示在页面上
        // 使用id为flagResult的DOM元素展示结果
        document.getElementById('flagResult').innerText = data.flag || data.error; 
        // 优先显示flag字段,不存在则显示error字段内容
    })
    
}

 意思是要求访问路径为admin/flag,然后请求头加上认证信息X-Internal-Auth: cateye-internal-000即可得到flag,如下所示

没有? 应该是X-Internal-Auth: cateye-internal-000中的不是000,应该是其他的三位数,那么爆破一下

设定爆破位置

设定payload,number形式,从0到999,步为1 

ok,结果出来了

 

获得flag

 此题的没有多少难点,还是比较简单的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值