日志文件包含漏洞

日志文件包含漏洞

日志包含漏洞属于是本地文件包含,同样服务器没有很好的过滤,或者是服务器配置不当导致用户进入了内网,本来常规用户是访问不了这些文件的,但由于发起访问请求的人是服务器本身,也就导致用户任意文件读取。

原理:

apache服务器日志存放文件位置:/var/log/apache/access.log

apache日志文件存放着我们输入的url参数

image-20221014182337783

我们可以通过在url参数中写入一句话木马,进行执行,从而将一句话木马写入到日志文件中,我们可以通过包含写入木马的日志文件,从而进行命令执行。

nginx服务器日志存放位置:/var/log/nginx/access.log和/var/log/nginx/error.log

image-20221014182636872

由本地日志文件可以看到nginx服务器中记录的是每次请求user-agent报文,那么我们可以通过包含nginx'服务器的日志文件,然后在user-agent服务器中写入木马语句进行注入

例:

<?php
//WEB手要懂得搜索

if(isset($_GET['file'])){
    $file = $_GET['file'];
    if(preg_match("/php|flag|data|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=/i", $file)){
        die("error");
    }
    include($file);
}else{
    highlight_file(__FILE__);
} 

过滤了很多,php和-被过滤导致不能使用php伪协议

通过产生报错,可以看到题目使用的服务器是nginx,访问默认日志文件

image-20221014183207947

通过返回信息可以看到日志文件记录了传入参数的值以及user-agent的值

但是由于file通过正则匹配过滤了php所以我们无法在url参数里面直接写入木马,但是user-agent位置并没有进行过滤,所以我们可以在这里进行注入

可以通过包含这个日志文件,然后在user-agent报文里面添加木马,进行注入

image-20221014183951094

通过执行phpinfo();发现以及执行成功。

image-20221014184516671

posted @ 2022-10-27 11:21  GTL_JU  阅读(963)  评论(0编辑  收藏  举报