python网络安全 攻防小案例场景演练

案例场景:某公司电商网站

这家公司有一个电商网站:

  • 域名: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,检查异常请求。

  • 攻击者第一步通常是信息收集 + 扫描 → 找漏洞 → 利用。
  • 防御者的关键是减少漏洞、控制访问、监控异常行为。