MIC

加载中 0%

MICMIC

网站开发常见安全漏洞有哪些 MIC Studio

·

网站开发中常见的安全漏洞有哪些?本文从越权、注入、文件上传、接口鉴权到上线后的安全测试,讲清成因、做法和避坑点,帮老板和技术负责人把安全成本花在刀刃上。

很多老板是在出事之后才想起安全:后台被人登进去改了价格,用户手机号被批量拉走,官网首页被挂上奇怪链接。回头一问,开发说“功能都测过了”。问题就在这——功能测试跑通,不等于安全过关。


网站开发里的安全漏洞,大多不是高深攻击,而是几个基础环节没做对。下面按实际项目里最常踩的坑,一条条说清楚。


一、越权访问:登录了不等于什么都能看


这是企业网站和后台管理系统里最常见的问题。用户 A 登录后,把地址栏里的订单 ID 从 1001 改成 1002,就能看到用户 B 的订单。开发往往只在前端隐藏了按钮,后端接口却没校验“这条数据是不是你的”。


做法很简单:每个接口都要校验当前登录人有没有权限操作这条数据,不能只判断“是否登录”。角色权限也要分清楚,普通员工和财务看到的菜单、能调的接口必须不同。


避坑点:别把权限判断写在前端。前端代码用户能改,后端才是最后一道门。上线前让开发把每个涉及 ID 的接口列出来,逐个确认归属校验。


二、注入类漏洞:拼字符串迟早出事


SQL 注入是老问题,但今天还在发生。典型场景是搜索框或筛选条件,开发直接把用户输入拼进 SQL 语句,攻击者输入一段特殊字符就能绕过条件、拖走整张表。


正确做法是全部使用参数化查询或 ORM 的绑定参数,不要手工拼接。命令执行、模板注入也是同理,凡是把用户输入当代码执行的地方,都要做白名单校验。


避坑点:代码里出现字符串拼接 SQL,基本可以直接打回。另外,数据库账号别用 root,按业务只给必要权限,出了事损失能小一半。


三、文件上传与下载:最容易被忽视的入口


企业网站要传产品图、要传合同附件,小程序开发里要传头像和证件照。如果上传接口只校验了扩展名,攻击者把脚本改成 .jpg 就能传上去,再想办法让它被执行。


做法:校验文件类型要看真实内容而不是后缀,上传目录禁止执行脚本,文件重命名存储。下载接口同样要校验权限,别让人改个路径就把服务器上的配置文件下载走。


避坑点:上传目录和网站程序目录要分开。很多事故就是因为图片和代码放在同一个可执行目录里。


四、接口鉴权与敏感信息暴露


App开发和小程序开发里,接口是主要攻击面。常见问题有三个:接口没有频率限制,验证码能被无限次撞;返回数据把不该给的字段一起给了,比如用户列表里带出身份证号;错误提示写得太详细,直接把数据库报错抛给前端。


做法:登录、短信、支付类接口必须做限流和防重放,返回字段按需裁剪,统一错误提示。日志里也别明文记录密码和完整手机号。


避坑点:测试环境的数据别直接同步到生产。很多泄露是因为测试库里是真实用户数据,而测试环境的防护几乎为零。


五、上线不是终点:安全测试要进流程


不少团队把安全当成一次性检查,上线后就没人管了。实际上,新功能上线、依赖升级、服务器换配置,都可能重新引入问题。


建议把安全测试放进发版流程:每次大改版做一轮接口和权限复查,定期扫依赖漏洞,重要系统每年做一次渗透测试。像官网改版这种项目,改完页面顺手把表单、搜索、后台登录都过一遍,成本不高,能挡住大部分低级问题。


避坑点:别只看扫描报告的数量。工具扫出来的高危要人工确认能不能真利用,误报和漏报都常见,最终还是要靠人判断业务逻辑漏洞。


什么情况适合找 MIC Studio


如果你的团队没有专职安全人员,或者正要做官网改版、预约小程序、后台管理系统,又不想在上线后被动救火,可以把安全这部分交出来。


MIC Studio 做企业网站、小程序开发、App开发,也做脚本开发和网站安全测试、逆向测试。我们更习惯在开发阶段就把权限、上传、接口这些问题按清单过一遍,而不是等出事再补。


三条可执行建议


1. 上线前拉一张接口清单,逐个确认登录校验、数据归属校验、限流三项是否到位,缺一项就记一条待办。

2. 把上传和下载单独当风险点评审,确认存储目录不可执行、文件类型按内容判断、下载走权限校验。

3. 给安全测试留预算和时间,重要版本发版前做一轮检查,别把安全当成上线后的可选项。