文件日志包含漏洞

本文针对ctf中文件日志包含小结

日志包含漏洞原因

某php文件存在本地文件包含漏洞,但无法上传文件,利用包含漏洞包含Apache(看服务器是Apache还是nginx)日志文件也可以获取WebShell

注意:需要开启服务器记录日志功能

访问日志的位置和文件名在不同的系统上会有所差异

apache一般是/var/log/apache/access.log。:

nginx的log在/var/log/nginx/access.log和/var/log/nginx/error.log

Apache运行后一般默认会生成两个日志文件,这两个文件是access.log(访问日志)和error.log(错误日志),Apache的访问日志文件记录了客户端的每次请求及服务器响应的相关信息。

1
2
3
127.0.0.1 - - [02/Dec/2019:22:18:28 +0800] "GET / HTTP/1.1" 200 5615
127.0.0.1 - - [02/Dec/2019:22:18:28 +0800] "GET /wampthemes/classic/style.css HTTP/1.1" 200 2415
127.0.0.1 - - [02/Dec/2019:22:18:29 +0800] "GET /wampthemes/classic/img/gifLogo.gif HTTP/1.1" 200 3525

当访问一个不存在的资源时,Apache日志同样会记录 例如访问http://127.0.0.1/。Apache会记录请求“”,并写到access.log文件中,这时候去包含access.log就可以利用包含漏洞

但并不能直接利用,原因是直接访问URL后,一句话木马在日志文件中被编码了 需要通过burpsuite拦截直接访问http://127.0.0.1/ 就能生成包含一句话木马的access.log文件

下面我们来本地演示(使用的是phpstudy的apache)

复现漏洞:

1、文件包含漏洞代码

1
2
3
4
5
6
<?php
echo 'file inlcude test';
if(isset($_GET['rj45'])){
include($_GET['rj45']);
}
?>

在这里插入图片描述

在这里插入图片描述

2、写入phpinfo()

在这里插入图片描述

在这里插入图片描述

3、写入一句话

在这里插入图片描述

img

查看日志

在这里插入图片描述

相关ctf练习题

ctfshow -web-4

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2021-2023 Wh1tecell
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~