【CSRF与SSRF漏洞】


前言

本篇文章仅作为本人学习笔记


一、简介

  1. CSRF:跨站请求伪造 (Cross-Site Request Forgery, CSRF),也被称为 One Click Attack 或者 Session Riding ,通常缩写为 CSRF,是一种对网站的恶意利用。尽管听起来像 XSS,但它与 XSS 非常不同,XSS 利用站点内的信任用户,而 CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。
  • 形成原因:web应用程序在用户进行敏感操作时,例如修改密码,添加账号,转账等,没有校验表单token或者http请求头中的referer值,从而导致恶意攻击者盗取普通用户的cookie,利用普通用户的身份完成攻击。
  1. SSRF:服务端请求伪造(Server Side Request Forgery, SSRF)指的是攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。SSRF 攻击通常针对外部网络无法直接访问的内部系统。
  • 形成原因:服务器端提供了从其他服务器应用获取数据的功能,但没有对目标地址做过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其他发起请求,并返回对该目标地址请求的数据。

二、CSRF攻击方法

  1. 最容易实现的是 Get 请求,一般进入黑客网站后,可以通过设置 img 的 src 属性来自动发起请求;

  2. 在黑客的网站中,构造隐藏表单来自动发起 Post请求;

  3. 通过引诱链接诱惑用户点击触发请求,利用a标签的 href;

三、如何防范CSRF攻击

  1. 针对实际情况,设置关键 Cookie 的SameSite 属性为 Strict 或 Lax;

  2. 服务端验证请求来源站点(Referer、Origin);

  3. 使用 CSRF Token,服务端随机生成返回给浏览器的 Token,每一次请求都会携带不同的CSRF Token;

  4. 加入二次验证(例如独立的支付密码);

四、CSRF漏洞复现

  • 使用DVWA靶场复现CSRF漏洞
  • 观察两个用户修改密码的URL,admin用户初始密码123456,修改密码为123,1337用户初始密码为charlay,修改密码为123,发现URL相同
    在这里插入图片描述
  • 场景模拟:攻击者admin用过存储型XSS漏洞将链接发送给服务器,受害者管理员1337此时查看该邮件,密码被修改为123456
  1. 攻击者admin用过存储型XSS漏洞将链接发送给服务器
    在这里插入图片描述
  2. 受害者管理员1337此时查看该邮件,退出使用原密码二次登录显示登录失败,密码被修改为123456
    在这里插入图片描述

五、SSRF漏洞验证方法

因为 SSRF 漏洞是让服务器发送请求的安全漏洞,所以就可以通过抓包分析发送的请求,是否是由服务器所发送的,从而来判断是否存在 SSRF 漏洞;
在页面源码中查找访问的资源地址,如果该资源地址类型为www.baidu.com/xxx.php?image=(地址)的就可能存在 SSRF 漏洞;

六、SSRF漏洞防御及绕过

防御方法:

  • 禁止跳转
  • 限制协议
  • 内外网限制
  • URL限制。

一些常见的SSRF漏洞绕过方式:

  1. 绕过IP地址检查:攻击者可以使用各种技术来绕过对IP地址的检查,例如使用IPv6地址、十六进制编码的IP地址、无效的IP地址等。

  2. 绕过URL黑名单:服务器通常会实施URL黑名单,以防止用户访问敏感URL。攻击者可以尝试使用不同的编码技术、缩写、别名等来绕过这些黑名单。

  3. 利用URL短网址:攻击者可以使用URL短网址服务来隐藏实际的目标URL,绕过服务器的URL白名单。

  4. 利用URL重定向:攻击者可以利用URL重定向功能来绕过IP地址或URL黑名单。通过在URL中包含重定向地址,攻击者可以将请求重定向到绕过安全检查的目标。

  5. 利用DNS解析:攻击者可以通过发送特制的请求,利用服务器进行DNS解析,然后通过解析结果来绕过安全检查。

  6. 利用HTTP协议特性:攻击者可以利用HTTP协议的特性来绕过SSRF防护机制。例如,攻击者可以使用HTTP 302重定向、HTTP 307重定向、HTTP 401认证等来绕过检查。

  7. 利用协议特性:攻击者可以利用各种协议的特性来绕过SSRF防护机制。例如,攻击者可以使用file协议访问服务器上的敏感文件,或使用gopher协议发送请求到内部网络。

七、SSRF漏洞常用URL伪协议

协议作用
file:本地文件传输协议,主要用于访问本地计算机中的文件
dict字典服务器协议,dict是基于查询相应的TCP协议,服务器监听端口2628
sftpSSH文件传输协议(SSH File Transfer Protocol),或安全文件传输协议(Secure File Transfer Protocol)
ldap轻量级目录访问协议。它是IP网络上的一种用于管理和访问分布式目录信息服务的应用程序协议
tftp基于lockstep机制的文件传输协议,允许客户端从远程主机获取文件或将文件上传至远程主机
gopher互联网上使用的分布型的文件搜集获取网络协议,出现在http协议之前

八、CSRF 与 SSRF区别

  • CSRF 是跨站请求伪造攻击,由客户端发起;
  • SSRF 是服务器端请求伪造,由服务器发起

更新ing…

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值