Web
get&post
查看源码就有提示
提示是爬虫协议。爬虫协议默认存放的文件名是robots.txt
看到了隐藏路径/dozer.php
<?php
highlight_file('dozer.php');
include("flag.php");
if($_GET['name1'] == "宫园薰"){
if($_POST['name2'] == "有马公生"){
echo $flag;
}
echo '我爱了你十年,你却不记得我的名字,CTF是你的谎言';
}
?>
看到了源码,考察的知识点是get&post。分别传入参数name1为宫园薰,name2为有马公生
得到了flag。此题需要用到工具hackbar
熟悉的md5
进去就看到了源码
<?php
include("flag.php");
highlight_file(__FILE__);
if (isset($_POST['a']) and isset($_POST['b'])) {
if ($_POST['a'] != $_POST['b'])
if (md5($_POST['a']) === md5($_POST['b']))
echo $flag;
else
print 'Ciallo!';
}
本题考察了md5的数组绕过,直接绕过就可以得到flag。
post传参a[]=1&b[]=2
Seek flag
<?php
error_reporting(0);
highlight_file(__FILE__);
// 悄悄告诉你,flag的位置就在根目录噢,好好了解下linux的文件结构吧!
if (isset($_GET['command'])) {
$cmd = $_GET['command'];
$output = shell_exec($cmd);
echo $output;
}
?>
最简单的rce,payload为cat /flag 得到了第一段flag,然后得到提示“另一段在虫虫那呢”说明另一段就在爬虫协议文件robots.txt
得到了第二段flag
吃吃你的
进来看到一个贪吃蛇游戏,然而由于出题人实力有限,只能直接把flag藏在源码
查看源码就能看到flag
空空如也
进去看到源码
<?php
error_reporting(0);
highlight_file(__FILE__);
if (isset($_GET['command'])) {
$cmd = $_GET['command'];
// 检查命令中是否包含空格
if (preg_match("/ /", $cmd)) {
die('Invalid command: Spaces are not allowed.');
}
// 执行命令并获取输出
$output = shell_exec($cmd);
// 输出结果
if ($output === null) {
echo "Command execution failed or returned no output.";
} else {
echo "<pre>Command Output:\n" . htmlspecialchars($output) . "</pre>";
}
}
?>
这题考察空格绕过。payload cat$IFS/flag ls$IFS/
ls命令查看根目录,发现flag,然后cat命令查看flag
Misc
我想吃掉你的胰脏
附件是一个图片,图片末尾有一个压缩包,压缩包有密码,
压缩包的文件头标识是PK 文件尾结尾也是PK,使用工具010将整个压缩包dump下来即可
010查看文件末尾发现了有提示DozerCTF????,这里考察了掩码攻击,使用工具ARCHPR进行掩码爆破
掩码攻击出压缩包密码为DozerCTF2024,解压缩就得到了flag