中小网站最常见的 8 类漏洞与修复建议
不需要零日漏洞,中小网站被黑绝大多数就栽在这几件“老问题”上。逐条对照,看看你中了几条。
1. 弱口令
后台、SSH、数据库、Redis 还在用 admin/123456/888888。修复:改用长且随机的口令,能开二次验证就开,别让 3306/6379/22 直接暴露公网。
2. 组件/插件没打补丁
ThinkPHP、Shiro、Fastjson、Log4j、WordPress 及其插件一旦爆出漏洞,公网就会有批量扫描。修复:关注组件安全公告,及时升级;不用了就直接删掉。
3. SQL 注入
参数直接拼接进 SQL,攻击者可拖库甚至写 shell。修复:全部用参数化查询/预编译,输入做校验,数据库账号按最小权限分配。
4. XSS 跨站脚本
用户输入未转义就回显,可能被用来盗 Cookie、钓鱼。修复:输出转义、富文本用白名单过滤、Cookie 加 HttpOnly。
5. 备份文件 / .git / .env 泄露
.git、.svn、*.bak、*.sql、.env 被直接下载,等于把源码和密钥送人。修复:备份别放网站目录,Web 层禁止访问以点开头的文件。
6. 文件上传 / 目录遍历
上传功能不校验类型,可传 .php 直接拿 shell。修复:白名单校验后缀与 MIME,上传目录禁止执行脚本。
7. 未授权访问
Redis、Elasticsearch、Actuator、Swagger 等默认无鉴权,直接暴露就是灾难。修复:加认证、限制来源 IP、不对外网开放。
8. 安全响应头缺失 / 配置不当
缺 HSTS、CSP、X-Frame-Options 等,站点更易被点击劫持、降级攻击。修复:补齐安全头,关闭 server_tokens,隐藏版本号。
这 8 类里,大部分不需要执行代码就能自测出来。用在线检测跑一遍,10 分钟就能看到哪些中招、怎么修。