扫端口,有个奇怪的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即可