漏洞报告
```html 那个登录框我盯了快十分钟。用户名输入框里填 我愣了两秒,漏洞报告又试了一遍。漏洞报告还是漏洞报告进去了。不是漏洞报告前端绕过的假象——F12 里那个 事情得从上周说起。漏洞报告朋友接了个外包,一个地方性电商后台,功能不复杂,就是管管订单和库存。他让我帮忙看看有没有明显问题,我本来没当回事。打开页面第一眼,UI 挺新,Vue 3 加 Element Plus,打包也做了混淆,看着像那么回事。但习惯性地在登录接口抓了个包,请求体里用户名和密码是明文 JSON,连 base64 都没套。这倒不算漏洞,顶多算偷懒。 真正让我停下的是响应头。没有 不过最离谱的还是那个登录。我翻了翻前端打包后的代码,发现登录逻辑里有一句: 什么意思呢?就是开发者在某个版本里为了“方便测试”,硬编码了一个后门:只要用户名里带单引号或注释符,就直接走本地 mock,跳过所有后端验证,返回一个固定 token,角色写死成管理员。更绝的是,这段代码没删干净,还被打进了生产包。 我后来问朋友,他说这项目是二手接的,上一任开发跑路了,代码里这种“彩蛋”不止一处。比如订单导出接口,传 我把这些整理成一份报告发过去,没用什么 CVSS 评分,也没画攻击链图。就按“怎么发现的、怎么复现的、影响是什么”三段写。朋友转给甲方,甲方回了一句:“这些不是功能吗?测试的时候都这么用的。” ……行吧。 漏洞报告这东西,写多了会发现一个规律:真正危险的从来不是 0day,而是那些被当成“特性”的缺陷。开发觉得方便,运维觉得没事,产品觉得能用就行。直到某天有人用 那份报告我最后没留底。只记得在“修复建议”那栏写了句:把 mock 代码删了,加参数化查询,别让前端决定你是谁。简单,但管用。漏洞报告
admin' --,漏洞报告密码随便敲几个字符,漏洞报告回车。漏洞报告页面没跳转,漏洞报告也没报错,漏洞报告只是漏洞报告刷了一下,然后右上角出现了“欢迎回来,漏洞报告admin”。漏洞报告Set-Cookie 明明白白写着 role=administrator。那一刻我脑子里只有一个念头:这玩意儿居然真能跑在线上。漏洞报告Content-Security-Policy,没有 X-Frame-Options,Server 字段倒是很诚实:nginx/1.18.0 (Ubuntu)。顺手试了下 /api/v1/users?page=1&size=10,返回 401。正常。但把 size 改成 100000,居然没报错,只是慢。再改成 -1,数据库直接吐了 500,堆栈信息里带出了表名 t_user 和字段 password_hash。行,SQL 注入的入口找到了。if (username.includes("'") || username.includes("--")) { return mockLogin(username); }
export_type=../../../../etc/passwd 能读服务器文件;比如头像上传,改 Content-Type 为 image/svg+xml 再塞个 <script>,存储型 XSS 就有了。全是低级错误,但凑在一起,整个系统跟纸糊的一样。admin' -- 登进去,把库存改成负数,把订单状态全刷成“已发货”,然后拍拍屁股走人。
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-