windows和linux包含日志文件和环境变量getshell

简介: windows和linux包含日志文件和环境变量getshell

前提知识

在linux 下日志文件权限默认是 root 而php 的权限是 www-data 一般情况下都是读取不了,如果是 windows 环境是权限是允许的。

linux 默认的 apache 日志文件路径是

访问日志

/var/log/apache2/access.log

错误日志

/var/log/apache2/error.log

把文件日志包含进来即可

/proc/self/environ 这个文件里保存了系统的一些变量

实验复现

代码区

index.php

1. <?php
2. include $_GET['file'];
3. ?>

info.php

1. <?php
2. phpinfo();
3. ?>

测试区

  • linux
?filename=../../../../../../../etc/passwd&submit=提交

这里查看日志文件发现权限不够www-data用户进行包含

访问时在url中写入恶意代码,发现被浏览器进行转码

http://192.168.10.139/?%3C?phpinfo();?%3E

使用burp进行拦截发包,此时代码出现在日志文件内(由于权限不够此时无法进行包含)

  • windows

发现仍然被编码了

通过burp发包

包含该日志文件

http://localhost:8084/?file=D:\phpstudy_pro\Extensions\Apache2.4.39\logs\access.log.1677801600

而现实是需要先找到今日日志的文件名,因为直接包含access.log会太大导致页面没有响应

我们先包含配置文件D:\phpstudy_pro\Extensions\Apache2.4.39\conf\httpd.conf

寻找logformat

%h %l %u %t \"%r\" %>s %b \"%{User-Agent}i\"

根据预制格式获取文件名

1677801600

  • linux环境变量

此时我们在User-Agen写入php代码

查看/proc/self/environ未发现(写入权限不够)

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
14天前
|
安全 Linux iOS开发
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
159 53
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
14天前
|
Linux API iOS开发
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
110 14
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
23天前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
177 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
23天前
|
JSON 安全 Linux
Nexpose 8.22.0 for Linux & Windows - 漏洞扫描
Nexpose 8.22.0 for Linux & Windows - 漏洞扫描
84 1
Nexpose 8.22.0 for Linux & Windows - 漏洞扫描
|
23天前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
278 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
12天前
|
Linux iOS开发 计算机视觉
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
86 0
|
23天前
|
数据管理 Linux iOS开发
Splunk Enterprise 9.4.5 (macOS, Linux, Windows) - 机器数据管理和分析
Splunk Enterprise 9.4.5 (macOS, Linux, Windows) - 机器数据管理和分析
66 0
|
存储 Shell Linux
【Shell 命令集合 系统设置 】⭐ Linux 取消或删除已设置的环境变量 unset命令 使用指南
【Shell 命令集合 系统设置 】⭐ Linux 取消或删除已设置的环境变量 unset命令 使用指南
735 0
|
存储 Linux 编译器
Linux 交叉编译第三方库需要设置的环境变量
Linux 交叉编译第三方库需要设置的环境变量
718 0
|
Linux Shell
在Linux中,如何设置环境变量?
在Linux中,如何设置环境变量?