案例场景:某公司电商网站
这家公司有一个电商网站:
- 域名:
shop.example.com - 运行环境:Linux + Apache + MySQL + PHP
- 提供会员注册和购物功能。
攻击者视角
目标:获取网站后台权限。
步骤 1:信息收集
- 用
whois查找域名注册信息,发现公司邮箱格式:name@example.com。 - 用
nslookup获取 IP 地址,发现服务器在 AWS。
步骤 2:端口扫描
nmap -sV shop.example.com-
扫描结果:
- 80/tcp → Apache 2.4.49
- 3306/tcp → MySQL
- 注意到 Apache 版本有已知漏洞(CVE-2021-41773 路径遍历漏洞)。
步骤 3:漏洞利用
- 尝试路径遍历,读取
/etc/passwd文件,确认漏洞存在。 - 再上传 WebShell,获取网站后台权限。
防御者视角
目标:避免被入侵。
措施 1:最小化攻击面
- 配置防火墙:禁止外部访问 MySQL 端口,只允许内网。
- 限制后台管理路径
/admin仅允许特定 IP 登录。
措施 2:漏洞修复
- 定期更新 Apache、PHP、MySQL,避免使用有已知漏洞的版本。
- 使用漏洞扫描器(如 Nessus、OpenVAS)定期检测。
措施 3:日志与监控
- 部署 WAF(Web 应用防火墙),检测路径遍历请求。
- 配置
fail2ban,对可疑 IP 进行自动封锁。 -
定期查看
/var/log/apache2/access.log,检查异常请求。 - 攻击者第一步通常是信息收集 + 扫描 → 找漏洞 → 利用。
- 防御者的关键是减少漏洞、控制访问、监控异常行为。