web7-12
in wr1teup with 0 comment
web7-12
in wr1teup with 0 comment

web7

参数值可控
开启环境
2024-07-09T03:21:57.png
2024-07-09T03:22:12.png
发现此目录已有flag.php文件
之后我们只需要cat就好,如下图post得出flag(要查看源代码,flag在渲染时忽略了)
2024-07-09T03:28:46.png
2024-07-09T03:29:37.png

flag=flag{dc8c29a4-b2fe-4941-8979-f99284fb5660}

web8

命令可控
2024-07-09T03:39:18.png
开启环境后,同样是代码
2024-07-09T03:39:47.png

在Unix和类Unix操作系统的shell中,>/dev/null 2>&1 是一种常见的重定向操作,它用于丢弃命令的输出。下面是每个部分的含义:

是标准输出重定向操作符,它将命令的输出重定向到指定的文件或设备。
/dev/null 是一个特殊的设备文件,它代表一个“黑洞”,任何写入到这个文件的数据都会被丢弃,不会保存。
2> 是标准错误输出重定向操作符,它将错误输出重定向到指定的文件或设备。
&1 是一个引用,它表示将标准错误输出重定向到标准输出的当前位置。
所以,>/dev/null 2>&1 这个组合表示:
命令的标准输出被丢弃,不显示在终端上。
命令的标准错误输出也被丢弃,不显示在终端上。
这通常用于执行一些不需要查看输出结果的命令,或者在脚本中避免输出干扰用户。

这边含义即为不给回显

所以我们用||&&来短路
2024-07-09T04:49:02.png
找到flag后,使用cmd=cat flag.php||whoami,但是没有回显
2024-07-09T04:49:57.png
因为如果使用 cat 命令同时结合 >/dev/null 2>&1,那么 cat 的输出和错误信息都会被隐藏,如下所示:

cat filename.txt > /dev/null 2>&1

这个命令会尝试显示 filename.txt 的内容,但是所有的输出(包括标准输出和标准错误输出)都会被重定向到 /dev/null,因此在终端上不会有任何显示。
于是我们使用tac
已知可以得出答案

web9

开启环境
2024-07-09T05:38:54.png
发现过滤了

2024-07-09T05:41:37.png
找到flag

于是通过通配符构造

得到flag,当然还有很多写法包括

2024-07-09T05:40:35.png

web10

开启环境
2024-07-09T06:03:15.png

preg_match("/flag|\&|\;|cat|tac|nl|more|od/i",$cmd)

以下字符将会被过滤

使用拼接方法
2024-07-09T06:06:54.png
得到dGFjIGZsYWcucGhw

echo 'dGFjIGZsYWcucGhw'|base64 -d

继续构造

`echo 'dGFjIGZsYWcucGhw'|base64 -d`

2024-07-09T06:10:37.png
2024-07-09T06:11:55.png
得到flag
当然也可以用到拼接

web11

开启环境
2024-07-09T06:36:44.png
可以发现本题过滤了

所以通过<> ${IFS}绕过,用通配符进行代替即可
2024-07-09T06:40:17.png
2024-07-09T06:41:59.png

web12

开启环境
2024-07-09T06:52:25.png
本题会过滤
flag:匹配文本 "flag",不区分大小写。

tacctf=a<>c echo ${ctf:1:2} $fl?g.php

2024-07-09T07:04:29.png
利用env打开环境变量借用已有的变量,找到已有变量中空格
2024-07-09T07:06:07.png
所以读取${PHP_EXTRA_CONFIGURE_ARGS}即可
空格在第十二个
2024-07-09T07:09:04.png
测试成功,直接更改payload
2024-07-09T07:10:38.png

cmd=tac${PHP_EXTRA_CONFIGURE_ARGS:12:1}fl*

如此构造得到flag

flag{c3cd5cdc-57a5-4946-8a97-e8df385a7cc2}
The article has been posted for too long and comments have been automatically closed.