Wazuh是一个功能强大的开源安全平台,它集成了安全信息与事件管理(SIEM)和扩展检测与响应(XDR)的能力,旨在为本地、虚拟化、容器化及云环境中的工作负载提供统一的威胁预防、检测和响应解决方案。
SQL 注入是一种攻击,在这种攻击中,威胁行为者将恶意代码插入传输到数据库服务器的字符串中进行解析和执行。成功的 SQL 注入攻击可以未经授权访问数据库中包含的机密信息。
我们可以使用 Wazuh 从 Web 服务器日志中检测 SQL 注入攻击,这些日志包含 select、union 和其他常见 SQL 注入模式等模式。本文通过POC来验证wazuh检测SQL注入攻击。
一、环境准备
POC测试环境拓扑如下图所示:

| 主机 | 说明 |
|---|---|
| 安全管理平台wazuh-server (192.168.0.40) |
All in one安装wazuh,监控wazuh-agent上报的告警信息进行威胁检测 |
| DVWA靶机 (192.168.0.43) |
被监控主机安装wazuh-agent,安装DVWA靶机,模拟被攻击 |
DVWA靶机安装参考《CentOS7+LAMP+DVWA靶机搭建》
首先安装LAMP环境
1 | apt update |
下载DVWA的软件包
进入到默认的web发布目录
1 | cd /var/www/html |
将config/config.inc.php.dist复制成config/config.inc.php并配置环境
1 | cp config.inc.php.dist config.inc.php |
用root用户登录数据库,然后执行以下命令创建dvwa数据库:
1 | mysql> create database dvwa; |
默认用户 = admin
默认密码 = password
将安全级别设为 Low(最易注入)
二、wazuh配置
将以下行添加到 Wazuh 代理 /var/ossec/etc/ossec.conf 文件中。允许 Wazuh-agent 代理监控 Apache 服务器的访问日志:
1 | <ossec_config> |
重新启动 Wazuh 代理以使应用配置更改生效:
1 | sudo systemctl restart wazuh-agent |
三、模拟攻击
访问DVWA的靶机地址http://192.168.0.43/DVWA/login.php
默认用户 = admin
默认密码 = password
登录后找到SQL Injection 输入例如”1' UNION SELECT database(), version()“ 等SQL注入Payload

四、效果验证
在wazuh此处的预期结果是规则 ID 为 31164 SQL injection attempt 的告警,但成功的 SQL 注入尝试会生成规则 ID 为 31106 A web attack returned code 200 (success)的告警。

我们可以点击详情看到具体的SQL注入攻击日志

至此,我们通过POC验证了wazuh检测SQL注入攻击场景。
作者博客:http://xiejava.ishareread.com/
关注:微信公众号,一起学习成长!