如何使用Laravel记录黑客攻击行为 排查网站反复被入侵问题
Laravel日志溯源攻击操作指南
可以通过Laravel日志追溯黑客攻击行为,前提是日志未被黑客篡改或删除,且日志记录等级满足溯源要求
前置校验:确认日志可用性
- 先检查Laravel默认日志路径
storage/logs/下的所有日志文件,优先核对被入侵时间点前后1-7天的日志修改时间。如果对应时间段的日志被清空、删除,说明黑客已经拿到服务器写入权限并销毁了痕迹,这部分日志无法作为溯源依据。 - 确认Laravel配置的日志等级不低于
info级,低于该等级时大量请求行为不会被记录,溯源有效性会大幅下降。
核心溯源步骤
按优先级从高到低检索日志中的以下特征:
- 异常上传请求:搜索
POST请求对应的路由,重点排查不在业务逻辑内的上传路径,以及上传后缀为.php、.phar、.phtml等可执行文件的请求,记录对应的请求IP、请求参数、UA信息。 - 恶意代码执行痕迹:搜索日志报错信息中的
eval、system、exec、shell_exec等敏感函数调用记录,多数WebShell执行命令时会触发Laravel的报错日志。 - 未授权访问记录:排查后台路由相关的访问记录,重点核对非你常用IP段的请求,以及多次返回403/401响应的密码爆破行为。
- SQL注入痕迹:搜索日志中的SQL报错信息,排查是否存在
union、select、or 1=1等注入特征字符。
交叉验证定位入侵点
- 把日志中筛选出的异常IP,和服务器Nginx/Apache的访问日志做交叉比对,拉取该IP的所有请求路径,即可定位到被利用的漏洞文件或路由。
- 如果查到异常上传请求,直接进入对应目录核对残留文件的哈希值,和你发现的恶意文件哈希值做比对,即可确认恶意文件是否从该入口上传。
后续防护优化建议
- 清理站点后建议自定义Laravel全局访问日志中间件,全量记录所有请求的IP、参数、路由、UA信息,方便后续溯源。
- 定期将Laravel日志、Web服务器日志做异地备份,避免黑客拿到服务器权限后直接删除本地日志销毁痕迹。
内容的提问来源于stack exchange,提问作者user1995781
相关产品推荐
相关产品推荐

