漏洞测评

 人参与 | 时间:2026-10-17 09:32:33

去年秋天,漏洞测评一个做电商的漏洞测评朋友找我,说他们后台有个接口能查任意用户的漏洞测评订单详情——只要改一下URL里的用户ID。他问我这算不算漏洞。漏洞测评我让他把请求发过来,漏洞测评随手把ID从自己的漏洞测评换成别人的,页面刷新,漏洞测评姓名、漏洞测评电话、漏洞测评收货地址全出来了。漏洞测评这当然算漏洞,漏洞测评而且是漏洞测评那种最典型的越权访问。问题在于,漏洞测评他们的漏洞测评开发团队一直觉得“没人会去改ID”。

漏洞测评这件事,漏洞测评很多时候就是在测这种“没人会去改”的东西。你以为没人改,攻击者第一个改的就是它。

工具跑出来的报告,只能算半成品

市面上自动化扫描工具不少,AWVS、Nessus、Burp Suite的主动扫描模块,跑一遍能出一份几十页的报告。我见过有人直接把扫描结果当成交付物发给客户,里面全是“可能存在SQL注入”“建议进一步验证”这类话。客户看不懂,开发也懒得改。

真正有价值的测评,是人工把那几条“可能”变成“确定”。比如扫描器提示某个参数疑似注入点,你得手工构造payload,看数据库报错信息,判断是MySQL还是MSSQL,能不能堆叠查询,有没有WAF拦截。这个过程没有捷径。我试过用sqlmap自动跑一个注入点,跑了四十分钟没结果,手工测了五分钟就确认了——因为那个参数只在Cookie里生效,扫描器根本没覆盖到。

逻辑漏洞比技术漏洞更难缠

技术漏洞有明确的特征,逻辑漏洞没有。一个优惠券领取接口,限制每人领一张。你抓包重放,发现还能领。再加个并发,同时发十个请求,领了十张。这不是代码写错了,是业务流程没考虑并发场景。测评这种漏洞,靠的不是扫描器,是对业务的理解。

我习惯在测评前先把自己当成正常用户走一遍完整流程。注册、登录、下单、支付、退款、提现。每一步都抓包看参数,看哪些字段是前端传的、哪些是后端算的。如果一个订单金额是前端传的,那基本就有问题。如果一个退款状态是前端改的,那问题更大。这些细节,自动化工具不会告诉你。

报告写给谁看,决定怎么写

给开发看的报告,要写清楚请求包、响应包、复现步骤、修复建议。别写“存在安全风险”这种废话,直接写“第37行代码未校验用户身份,建议在查询前加session验证”。给管理层看的报告,要写清楚影响范围、利用难度、修复优先级。别堆技术术语,说“这个漏洞能让任何人看到所有用户的手机号”就够了。

我见过最离谱的一份报告,漏洞描述写了三页,修复建议只有一句“请修复”。这种报告交出去,开发不骂你才怪。

测评之外的事

做完测评,我通常会跟开发聊十分钟。不问别的,就问他们平时怎么写代码、有没有做代码审查、上线前有没有安全测试。大部分时候答案是“没有”。这不是开发的问题,是流程的问题。一个团队如果没有安全左移的意识,测评做得再多,也只是在漏水的桶上贴胶带。

漏洞测评不是终点。它更像一次体检,告诉你哪里有问题,但治不治、怎么治,取决于你自己。

顶: 71379踩: 8