扫端口,有个奇怪的8888端口。。。 先从web入手 试试几个功能,抓包看看 发现这几个功能 尝试读源码 好难受。。。丢进python print一下 发现
<?php
if($_SERVER['REQUEST_METHOD'] === "POST"){
$fileContent['file'] = false;
header('Content-Type: application\/json');
if(isset($_POST['file'])){
header('Content-Type: application\/json');
$_POST['file'] = str_replace( array("..\/", "..\""), "", $_POST['file']);
if(strpos($_POST['file'], "user.txt") === false){
$file = fopen("\/var\/www\/html\/" . $_POST['file'], "r");
$fileContent['file'] = fread($file,filesize($_POST['file']));
fclose();
}
}
echo json_encode($fileContent);
}
发现只替换了一次../
dirRead.php
差不多
通过双写../
绕过,翻文件
读到ssh私钥
ssh登陆
得到user.txt
收集一下信息 woc我好像在docker里 注意到之前的8888端口 看一下本机的 注意到在外面连22和在docker里连22不是一个ssh docker里面的ssh监听的是8888 推测网络结构是这样的 我们直接从docker里面连接主机的22端口 就用之前的公钥,用户换成monitor 是个受限的rbash 发现ed可以用 拿gtfobins搜搜 即可绕过rbash 顺手修一下PATH 把kali的粘贴进去就行 然后开始提权 4.9的内核。。。不行 suid。。。没有 看到了这个东西->传送门 其实就是拆分root权限,只对应用程序赋一部分root的能力 发现tac可以以root权限读取文件 读flag即可