如何找漏洞
去年有个朋友让我帮他看一个企业官网,何找漏洞说首页轮播图偶尔会跳到奇怪的何找漏洞外链。我打开页面,何找漏洞F12,何找漏洞翻到那段JavaScript,何找漏洞发现轮播配置直接从一个叫 这就是何找漏洞漏洞。它不神秘,何找漏洞就是何找漏洞代码做了它不该做的事,或者没做它该做的何找漏洞事。找漏洞的何找漏洞本质,是找到"预期行为"和"实际行为"之间的那条裂缝。 很多人一上来就掏扫描器,AWVS、Nessus跑一遍,报告出来一堆中危低危,然后呢?不知道哪个能真正打进去。我的习惯是先花时间理解这个系统。它是干什么的,有几种用户角色,数据从哪来到哪去,哪些接口需要登录,哪些不需要。 拿一个电商网站举例。普通用户能做的操作:浏览商品、加购物车、下单、支付、查看订单。管理员能做的:上架商品、改价格、看所有订单、管理用户。这些操作背后对应着具体的HTTP请求。你把Burp Suite挂上代理,点一遍所有功能,请求就全录下来了。 这一步没有捷径。你得手动点,手动看。扫描器不知道你的业务逻辑,它只会对着URL列表瞎打。 录完请求之后,逐个看参数。每个参数都问三个问题:这个参数的值我能不能控制?改成别的会怎样?后端拿它做了什么? 比如 还有一种容易漏的:参数值本身合法但含义被篡改。比如 前端JavaScript里藏着大量信息。API密钥、内部接口地址、注释掉的调试代码、硬编码的token。我见过一个后台管理系统,前端JS里直接写着 还有source map文件。如果 技术漏洞有工具帮忙,逻辑漏洞基本靠人脑。你得站在开发者的角度想:他写这段代码的时候假设了什么?然后去打破那个假设。 比如密码找回功能。正常流程是:输入邮箱→收到验证码→输入验证码→重置密码。开发者假设用户会老老实实走完流程。你试试能不能跳过验证码那步直接调重置接口?验证码能不能爆破?能不能用自己邮箱收到的验证码去重置别人的密码? 再比如优惠券。满100减50,你买99块钱的东西,加一个1块钱的商品,用了券之后把1块钱的商品退掉,券还会不会生效?这种问题没有标准答案,只能试。 我日常用的组合:Burp Suite做代理和重放,ffuf扫目录和参数,nuclei跑已知CVE模板,sqlmap处理确认的注入点。但这些都是在你已经找到可疑点之后用来验证和深挖的。真正的"找"那一步,靠的是观察和推理。 有人问我有没有什么一键找漏洞的工具。没有。如果有,那所有系统就都安全了。 找漏洞这件事,说到底是理解系统然后背叛它的过程。你越了解它怎么工作,就越知道哪里能让它出错。banner.json 的何找漏洞文件里读取。问题来了——这个JSON文件的何找漏洞路径是 /api/getBanner?url=xxx,而 url 参数没有做任何白名单校验。何找漏洞我试着把参数改成 http://evil.com/1.jpg,何找漏洞页面照单全收。何找漏洞先搞清楚一个系统"应该"怎么运转
参数是突破口
GET /order/detail?id=1001。你把id改成1002,如果看到了别人的订单,这就是越权。改成 1001',如果报数据库错误,可能存在SQL注入。改成 1001 and 1=1 和 1001 and 1=2,返回结果不同,基本可以确认注入了。POST /transfer 里有 amount=100,你改成 -100,如果系统真给你反向转账,这就是逻辑漏洞。扫描器扫不出来这个,只有人能想到。别忽略前端代码
adminToken = "Bearer eyJ...",拿去就能调管理接口。app.js.map 没删,你能直接还原出整个前端源码,包括那些被webpack压缩得面目全非的函数名和变量名。找起接口来方便得多。逻辑漏洞靠猜和试
工具是辅助,不是主力
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-