0Pricing
Ethical Hacking Academy · 课时

发现常见漏洞

IDOR、XSS、SSRF

发现常见漏洞 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。

最常见也最实用的漏洞

少数几种漏洞类型因为常见且影响重大,占据了大多数漏洞赏金。请先掌握这三种:

  • IDOR — 通过可预测的 ID 访问其他用户的数据
  • XSS — 将脚本注入页面
  • SSRF — 让服务器获取攻击者指定的 URL

本课将展示如何系统地寻找这三类漏洞。

理解 IDOR

当应用使用用户提供的标识符获取对象,却没有检查该用户是否拥有该对象时,就会出现不安全的直接对象引用(IDOR)。

修改 ID,就能访问他人的数据。这是访问控制缺陷,而不是注入漏洞。

# Your own invoice
GET /api/invoices/1001  Authorization: Bearer <your-token>

# Change the ID - do you get someone else's?
GET /api/invoices/1002  Authorization: Bearer <your-token>

有效寻找 IDOR

要寻找 IDOR,请创建两个账户并进行比较。任何通过 ID 引用对象的地方都值得检查。

  • 从账户 A 捕获一个用于获取 A 的数据的请求
  • 使用账户 B 的会话重放该请求,但替换为 A 的对象 ID
  • 如果 B 能看到 A 的数据,那就是 IDOR

请留意 URL、JSON 请求体、请求头,甚至 base64 或 UUID 形式中的 ID。

# Original (account A)
POST /api/profile/update
{ "user_id": 5001, "email": "a@example.com" }

# Tamper: use account B's session, keep A's user_id
# If A's profile changes, broken object-level authorization.

理解 XSS

跨站脚本(XSS)是将会在另一位用户的浏览器中运行的 JavaScript 注入进去。主要有三种类型:

  • 反射型 — 载荷在即时响应中被原样返回
  • 存储型 — 载荷被保存并提供给其他用户(影响最大)
  • 基于 DOM — 客户端 JS 不安全地将攻击者输入写入 DOM

测试 XSS

先注入一个独特标记,查看输入会在何处以及以何种方式被反射,然后构造适合该上下文的载荷(HTML 正文、属性或脚本)。

上下文决定了哪种载荷能够跳出当前环境并执行。

# Probe reflection with a unique canary
?q=xss7391canary

# Basic HTML-context payload
<script>alert(document.domain)</script>

# Attribute breakout
" onmouseover=alert(1) x="

证明 XSS 的影响

简单的 alert(1) 可以证明代码执行,但审核人员希望看到影响。请展示攻击者实际能够窃取或执行的操作。

  • 读取 JS 可以访问的 CSRF 令牌或会话信息
  • 展示 document.domain 以证明来源
  • 对于存储型 XSS,展示它在受害者账户中触发

绝不要真正窃取真实用户的会话,只需展示这种能力即可。

理解应用中的 SSRF

在漏洞赏金场景中,SSRF意味着找到一个会获取您控制的 URL 的功能。可能的候选位置包括:

  • Webhook URL、回调 URL
  • 会获取远程资源的图像/PDF 生成器
  • URL 预览或链接展开功能
  • 从 URL 导入的功能

将这些功能指向内部端点或元数据端点,以证明其影响。

通过带外方式确认 SSRF

当响应中不显示获取到的内容时,请使用带外服务器确认目标是否发起了请求。交互回调可以证明存在盲 SSRF。

Burp Collaborator 或 interactsh 等工具会为您提供一个能够记录访问的唯一 URL。

# Give the app your unique OOB URL
POST /api/webhook
{ "callback": "http://abc123.oast.fun/" }

# If abc123.oast.fun logs a DNS/HTTP hit, the server fetched it = SSRF.

使用代理进行寻找

这三类漏洞都可以通过拦截并篡改请求来发现。拦截代理是核心工具。

  • 使用 Burp Suite 或 OWASP ZAP 捕获/修改流量
  • 使用 Repeater 重放并调整单个请求
  • 使用 Intruder/模糊测试器测试大量 ID 或载荷

深入掌握代理的用法,比掌握任何单一技术都更有价值。

串联漏洞以扩大影响

最高额的赏金来自漏洞串联。一个中等严重程度的漏洞加上另一个漏洞,可能会变成严重漏洞。

  • SSRF 访问云元数据后,可能导致凭据被窃取和账户接管
  • IDOR 暴露令牌后,可能导致账户完全失陷
  • 管理面板中的存储型 XSS 可能导致管理员账户被接管

请始终思考:这个漏洞可以与什么漏洞结合?

谨慎并在范围内进行测试

这些漏洞会触及真实数据和真实用户。请遵守道德规范:

  • 使用您自己的测试账户,除证明漏洞所必需的范围外不要查看真实用户数据
  • 避免可能在真实用户处触发的存储型 XSS 载荷,将其限制为仅对您自己触发
  • 对于 SSRF,不要深入访问内部系统,证明基本能力后立即停止

负责任地展示影响,才能让您受到安全港政策的保护。

快速检查

您以用户 B 的身份登录,使用 B 的会话重放请求,但将对象 ID 替换为用户 A 的对象 ID,结果收到了 A 的私密数据。这属于哪种漏洞?

回顾:发现常见漏洞

您已经学会了如何寻找价值最高的三类漏洞。

  • IDOR:比较两个账户,篡改对象 ID,检查是否执行所有权验证
  • XSS:探测反射位置,使载荷适配上下文,证明实际影响
  • SSRF:寻找获取 URL 的功能,通过带外方式确认盲漏洞
  • 串联漏洞以造成严重影响(例如通过 SSRF 访问云元数据)
  • 使用拦截代理,并始终在范围内操作

下一步:将发现的问题写成能够获得赏金的报告。

常见问题解答

「发现常见漏洞」课时是免费的吗?

是的 — 「发现常见漏洞」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。

「发现常见漏洞」这节课中我会学到什么?

IDOR、XSS、SSRF 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ethical Hacking Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「发现常见漏洞」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?

能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 选择目标
  2. 大规模侦察
  3. 发现常见漏洞
  4. 撰写优秀报告
← 返回 Ethical Hacking Academy