公司新上线的客户预约系统,上线第三天就被人绕过登录页直接查到了所有用户手机号;运维同事刚改完配置,网站瞬间 502,客服电话被打爆;还有那个总被反复提交的优惠券领取接口,后台日志里全是重复订单……这些都不是段子,是真实发生在小团队里的日常。
身份认证形同虚设
很多内部管理后台,用的是“admin/123456”这种默认账号密码,或者干脆只靠前端隐藏登录入口。攻击者扫一下 /admin/login 就能进,连爆破都不用。更常见的是 Token 没做有效期、没绑定设备或 IP,一个被截获的 JWT,就能让别人冒充你操作三个月。
接口裸奔,数据随便拿
前端调用的 /api/user/profile 接口,后端没校验当前用户是否就是请求中的 user_id,结果 A 用户把 URL 里的 id 改成 10086,顺手就把 B 的身份证号、家庭住址全拉出来了。这类越权访问(尤其是水平越权),在快速迭代的项目里特别高发。
依赖库悄悄埋雷
项目用了三年的 log4j 2.14.1,没人记得升级。直到某天凌晨收到告警:服务器 CPU 突然飙到 99%,查日志发现一堆异常 JNDI 调用——Log4Shell 漏洞正在被利用。类似情况还有老旧版本的 axios、lodash,一个未修复的原型链污染,就能让整个服务端执行任意代码。
文件上传不设防
头像上传功能允许传 .php、.jsp 后缀,又没重命名、没校验 Content-Type,攻击者上传一个 webshell,接着就通过 /upload/xxx.php 控制了整台服务器。更隐蔽的是,有些系统允许上传 SVG 文件,而 SVG 里嵌了