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未发现(写入权限不够)

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
26天前
|
Ubuntu 安全 Linux
|
7天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
21 7
|
5天前
|
Windows Python
如何反向读取Windows系统日志EVTX文件?
以下是如何反向读取Windows系统日志EVTX文件
15 2
|
30天前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
42 3
|
1月前
|
存储 Linux 编译器
cmake的单目录和多目录的使用(Linux和Windows)
本文介绍了在Windows和Linux平台上使用CMake构建单目录和多目录项目的步骤,包括如何配置CMakeLists.txt文件以及如何生成和使用可执行文件、库文件。
20 2
|
22天前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
28 0
|
1月前
|
关系型数据库 MySQL Linux
Navicat 连接 Windows、Linux系统下的MySQL 各种错误,修改密码。
使用Navicat连接Windows和Linux系统下的MySQL时可能遇到的四种错误及其解决方法,包括错误代码2003、1045和2013,以及如何修改MySQL密码。
196 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
55 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
38 0
|
11天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
116 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板