网安每日干货分享之《文件包含漏洞01》-0209

admin 2026-02-10 15:01:20 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细演示了利用文件包含漏洞通过Apache日志文件Getshell的渗透测试技术。核心原理是利用Apache访问日志记录用户请求的特性,当目标仅存在本地文件包含漏洞且无上传点时,攻击者通过发送包含PHP代码的恶意请求使其被记录到access.log中,再包含该日志文件执行代码。关键步骤包括:通过报错获取Web路径信息、确定日志位置、使用BurpSuite抓包修改请求绕过编码过滤、最终成功执行phpinfo()验证漏洞。该技术适用于Apache+PHP环境,是文件包含漏洞利用的重要实战手法。 综合评分: 78 文章分类: 渗透测试,漏洞分析,WEB安全,实战经验,漏洞POC


cover_image

网安每日干货分享之《文件包含漏洞01》-0209

原创

建哥聊安全 建哥聊安全

建哥聊安全

2026年2月9日 09:10 湖南

文件包含漏洞利用之包含Apache日志文件Getshell

免责声明:严格禁止对任何未授权系统/网络进行扫描、攻击或入侵。 禁止制作/传播恶意程序,禁止参与任何网络犯罪。如擅自将本文实验技术用于非法用途,一切法律后果及责任由行为人独立承担,与作者无关。

创作不易,内容如对你有帮助,可以点个关注,转载时请务必注明原作者及原始出处链接,感谢配合。戳下面关注 ↓↓↓

#

实验目的

通过本实验,访问目标网站,在Apache的访问日志中产生记录,利用文件包含漏洞包含日志文件,从而Getshell。

实验环境

操作机:Win10 用户名:Administrator 密码:Sangfor!7890

靶机:Apache + PHP

靶场搭建步骤参考https://zhuanlan.zhihu.com/p/433231748)

实验地址:http://ip/include/include.php

实验原理

Apache有两个日志文件:访问日志文件access.log和错误日志文件error.log。在请求访问网站时,web服务器会将请求写入到日志文件中。比如说Apache服务器,在用户发起请求时,会将请求写入access.log,当发生错误时将错误写入error.log。 当网站只存在文件包含漏洞,但是无Webshell文件可以包含时,也没有上传漏洞,可以发送请求,记录到日志文件中,再包含日志文件Getshell。 日志默认路径:

Apache:

Apache + Linux日志默认路径

/etc/httpd/logs/access_log 或 /var/log/httpd/access log

Apache + Windows日志默认路径

XAMPP套件:xampp\apache\logs/access.log

phpStudy套件:phpStudy\Apache\logs/access.log

IIS:

IIS6 默认日志文件位置

C:WINDOWS\system32\Logfiles

IIS7 默认日志文件位置

%SystemDrive%\inetpub\logs\LogFiles

Nginx:

nginx日志文件在用户安装目录的logs目录下

如安装目录为/usr/local/nginx,则日志目录就是在/usr/local/nginx/logs里

也可通过其配置文件nginx.conf,获取到日志的存在路径(/opt/nginx/logs/access.log)

实验步骤

1、登录操作机,打开浏览器,在浏览器中访问http://ip/include/include.php

2、访问http://ip/include/include.php?page=xxx.php,包含不存在的文件,使其报错,获取服务器的Web根目录、当前网页的路径、Web服务器等信息,猜测Web服务器的日志文件

3.访问http://ip/include/include.php?page=C:\server\apache22\logs\access.log,包含Apache访问日志文件,成功找到Apache访问日志文件

4、访问http://ip/include/<?php phpinfo();?>,将请求记录到Apache访问日志中

5.访问http://ip/include/include.php?page=C:\server\apache22\logs\access.log,包含Apache日志文件,日志文件记录成功,但是没有解析成功

6、打开桌面的的“Burp”文件夹,双击“BURP.cmd”启动Burp Suite抓包工具

7、切换到“Proxy”代理模块的“Options”,查看Bp的代理

8、切换到浏览器,选择火狐插件中的代理(配置浏览器的的代理),与Bp的代理一致

9、访问http://ip/include/<?php phpinfo();?>,Bp成功抓取数据包

10、将数据包中的编码格式去掉,将其变成正常的脚本代码

11、点击“Forward”,转发数据包,切换到浏览器,将请求中的代码再次添加到Apache访问日志记录中

12、关闭浏览器代理

13.访问http://ip/include/include.php?page=C:\server\apache22\logs\access.log,包含Apache日志文件,解析成功

实验总结

通过本实验,掌握在无其他漏洞,只有文件包含漏洞,且目标服务器本地既无shell文件可利用,也没有远程文件包含时,可以在请求中添加脚本代码和一句话木马代码,再利用Burp Suite抓包将数据包中的编码去掉,再包含日志文件,从而Getshell。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:建哥聊安全 建哥聊安全 建哥聊安全《网安每日干货分享之《文件包含漏洞01》-0209》

评论:0   参与:  2