暴力破解密码在Apache日志中表现为同一IP在短时间内对/login.php等登录接口高频发起POST请求,伴随401/403或含“错误”提示的200响应,需综合频率、路径、方法、状态码及响应特征判断。

暴力破解密码的行为在 Apache 日志中通常表现为同一 IP 对登录接口(如 /login.php、/wp-login.php、/admin/login)在短时间内发起大量 POST 请求,且多数返回 401、403 或 200(但响应内容含“错误”“invalid”等提示)。关键不在于单条日志,而在于**频率+路径+方法+状态码+响应特征**的组合异常。
看请求方法和登录路径是否集中
攻击者很少用 GET 访问登录页,而是反复提交 POST。先筛选出常见登录入口:
grep "POST /wp-login.php" /var/log/apache2/access.loggrep "POST /login.php" /var/log/apache2/access.loggrep "POST /admin/login" /var/log/apache2/access.log
如果某条命令返回数百行结果,尤其集中在几分钟内,就是高风险信号。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
统计同一 IP 的请求频次
仅看路径不够,要锁定攻击源 IP。用以下命令快速识别高频访问者:
grep "POST /wp-login.php" /var/log/apache2/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10- 若某 IP 在 5 分钟内出现 50+ 次,基本可判定为暴力尝试
- 注意:有些攻击会轮换代理或使用 CDN,IP 可能分散,此时需结合 User-Agent 或 Referer 进一步聚类
结合状态码和响应体线索
不是所有 POST 都是攻击,要看服务器怎么回应:
- 返回 401 Unauthorized 或 403 Forbidden 多次 → 明确拒绝认证,典型爆破特征
- 返回 200 OK 但响应页面含 “Invalid username”、“Wrong password”、“登录失败” 等文本 → 需配合 error_log 或后端日志交叉验证
- 若日志中
$9字段(状态码)后紧跟着$10(字节数)异常小(如 127、204),可能返回精简错误页,也是线索
留意时间分布和异常模式
真实用户不会每秒发一次登录请求。观察时间戳是否呈现机械性:
- 用
grep "POST /wp-login.php" /var/log/apache2/access.log | head -20 | cut -d'[' -f2 | cut -d']' -f1提取时间,看是否间隔均匀(如每 1.2 秒一条) - 凌晨 2–5 点集中爆发,且无正常浏览行为(如没访问首页、CSS、JS),更可疑
- 同一 IP 同时尝试多个账号(如 log=aaa&pwd=123、log=bbb&pwd=123),日志中参数字段会暴露

















