OWASP A10 Server-Side Request Forgery(服务器端请求伪造)

Server-Side Request Forgery(服务器端请求伪造)

这是在2021年中新出的类别,这是种看着不起眼,但是要是配置不当,就容易引发严重的后果.

SSRF 定义

SSRF 全称是服务器端请求伪造(Server-Side Request Forgery)

是利用一个服务器向另一个服务器发送请求

还有个极其相似的兄弟叫CSRF(XSRF) , 全称是跨站点请求伪造

也就是伪造使用者身份向目的服务器发送非法请求。

SSRF 流程

我们结合定义和此图,可以理解SSRF的基本流程

但是我们要想一个简单的问题:我们为何不能向主机B直接发送请求呢?

可能一:这个主机B是服务器A所在的内网一种设备,并没有配置外网 IP 。比方说是 SQL 服务器什么的,减轻服务器A的处理压力。

可能二:内网中可能有其他厂家资源,虽然进行了严格的外网限制,但是却对内网所属的服务器没有进行严格的限制。


以我的普通私人服务器为例

腾讯云给了用户一个公网 IP 和内网 IP

其中公网 IP 是对外开放的IP

而内网 IP 是服务器集群里的内部 IP

我可以利用此服务器做哪些操作呢?

PortSwigger 的靶场平台(也称为 Web Security Academy)是一个非常系统且专业的学习资源,针对各种 Web 安全漏洞,包括跨站请求伪造(CSRF)。以下是关于 PortSwigger 靶场中 CSRF 相关练习和教程的指南。 ### 3.1 CSRF 基础知识回顾 在开始练习之前,建议先理解 CSRF 的基本原理。CSRF 是一种攻击方式,攻击者通过诱导用户访问恶意网站,利用用户当前的身份凭证执行非预期的操作。例如,在用户已登录的情况下,诱导其点击一个链接或提交一个表单,从而完成转账、更改密码等操作[^3]。 PortSwigger 提供了详细的理论介绍,帮助你掌握以下内容: - 如何构造 CSRF 攻击载荷; - 服务端如何检测并防御此类攻击; - 常见的防御机制如 anti-CSRF token 的实现原理。 ### 3.2 CSRF 靶场练习路径 PortSwigger 的 Web Security Academy 中专门设有 CSRF 漏洞的靶场模块,包含多个难度等级的实验环境。以下是推荐的学习路径: #### 初级练习 - **简单 CSRF 漏洞**:这些实验不使用任何防护措施,适合入门者练习基础攻击方法。 - **带 Referer 检查的 CSRF**:尝试绕过基于 Referer 头的检查机制。 - **带 Token 验证但存在缺陷的 CSRF 防护**:分析 Token 是否可预测、是否未正确验证等漏洞。 #### 高级练习 - **Token 双提交失败案例**:了解 Token 在 Cookie 和 Header 中双提交时可能存在的验证逻辑错误。 - **JSON 格式请求中的 CSRF**:探索 JSON 请求是否可以被 CSRF 攻击触发。 - **与 XSS 组合使用的 CSRF**:结合 XSS 获取 Token 或自动发起攻击。 每个实验都附有详细提示和完整解决方案,适合不同阶段的学习者逐步提升技能。 ### 3.3 实战技巧与工具支持 在进行靶场练习时,推荐使用以下工具辅助测试和调试: - **Burp Suite**:用于拦截和修改请求,构造攻击载荷; - **Cookie Editor 插件**:方便查看和修改浏览器中的 Cookie; - **HTML 表单构造器**:快速生成用于 CSRF 测试的 HTML 页面。 示例 CSRF 攻击代码如下: ```html <html> <body> <form action="https://target.com/change-email" method="POST"> <input type="hidden" name="email" value="attacker@example.com" /> <input type="submit" value="Click Me" /> </form> </body> </html> ``` 将上述代码嵌入恶意页面,并诱导目标用户访问,即可尝试执行 CSRF 攻击。在实际练习中,需根据目标系统的防护机制调整攻击策略。 ### 3.4 学习建议 建议按照从易到难的顺序完成所有 CSRF 相关实验,并记录每一步的攻击思路与防御绕过技巧。同时,参考 OWASP Top 10 中对 CSRF 的定义与防护建议,进一步加深理解[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值