2018金融业网络安全攻防比赛

Web

Babygit

典型的git泄露的题,首先使用githack把文件下载下来
然后发现在版本回退中发现flag

得到flag:flag{G1t_D1s?1}

speed

一开始以为是文件上传漏洞,测试了半天发现上传php文件会显示删除。
这时候看到题目speed恍然大悟,莫不是条件竞争?
使用burp的intruder快速发送多个包,发现返回包中有不同字段。
通过观察发现,上传的头像的名字会对应某一串字符串不变。
一遍快速上传图片,一遍快速发送访问的数据包。

得到flag: flag{fiLe_Up10A$1@68c55b50e70}

calculate

看到这道题很迷,题目给了一个计算器,可以看源代码

源代码如下:

通读过一遍之后,发现两个点:
1. FLAG = 'flag{' + get_flag(arguments['t'].value) + '}' 这里已经定义了FLAG

  1. 代码中只有eval()可以执行命令
    思路很明确,通过输入绕过限制,执行命令。

先来看一下基本的逻辑和设定:
1. 通过cgi接受相关参数:t、source、value1、value2、op

t:自带的token
source:值为1会显示源代码
value1:第一个操作数
op:操作字符
value2:第二个操作数

babyshop

看到购买东西类的题,肯定是逻辑漏洞了。
这里是卖出的时候,通过长字符达到溢出,然后就有很多钱了 = = 然后买就行了。

得到flag: flag{M0n3y_En0ugh}

Bake cookies

看到这道题的网页title是JWT猜测肯定是JWT加密token那点事。

但是难就难在,就给了一个登陆框,不知道他cookie中的键值对的形式,也不知道他Encoded中DATA部分的键值对名称。

后来,一个偶然程哥跑弱口令跑出来一对guest guest,登进去发现抓包

构造错误的token,爆出密钥

decode一下

更改字段,加上密钥

得到flag: flag{Jw7_15_9000lh4vE_fUN_W17h_17}