前言
本篇文章相对于来说比较水,大家看不懂的话,多去百度,去了解相关的知识
大家一定要多去理解这个原理,理解的同时去打打靶场,就能很快上手啦
什么是CSRF?
CSRF(即跨站请求伪造)是指利用受害者尚未失效的身份认证信息、(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害人的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(转账,改密码等)。
CSRF的原理
CSRF原理:
CSRF 跨站点请求伪造。攻击者盗用了受害者的身份,以受害者的名义发送恶意请求,对
服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作。
CSRF漏洞的危害:
1 、对网站管理员进行攻击
2 、修改受害网站上的用户账户和数据
3 、账户劫持
4 、传播 CSRF 蠕虫进行大规模攻击
5 、利用 csrf 进行拖库
6 、利用其他漏洞进行组合拳攻击
7 、针对路由器的 csrf 攻击
挖掘CSRF漏洞的思路
CSRF漏洞的常见的触发点
- 论坛交流
- 用户中心
- 反馈留言
- 交易管理
- 后台管理
根据请求方式的不同,可以分为
- 资源包含(GET)
- 基于表单(POST)
- XMLHttpRequest
挖掘技巧
- 最简单的方法就是抓取一个正常请求的数据包,如果没有Referer字段和token,那么极有可能存在CSRF漏洞。
- 如果有Referer字段,但是去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。
CSRF漏洞如何防护:
尽量使用 POST ,限制 GET ;
浏览器 Cookie 策略;
加验证码;
什么是SSRF?
SSRF (Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞。一般情况下,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。
SSRF的原理
SSRF的形成大多是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。例如,黑客操作服务端从指定URL地址获取网页文本内容,加载指定地址的图片等,利用的是服务端的请求伪造。SSRF利用存在缺陷的Web应用作为代理攻击远程和本地的服务器。
SSRF的攻击方式
当攻击者想要访问服务器B上的服务,但是由于存在防火墙或者服务器B是属于内网主机等原因导致攻击者无法直接访问。如果服务器A存在SSRF漏洞,这时攻击者可以借助服务器A来发起SSRF攻击,通过服务器A向主机B发起请求,达到攻击内网的目的。
SSRF的危害有哪些?
-
访问内部系统:SSRF漏洞可以被用于访问内部网络中的其他服务和系统,包括数据库服务器、文件系统、管理控制台等。攻击者可以通过绕过防火墙和其他网络安全措施来直接访问这些系统,并以其身份执行恶意操作。
-
内网端口扫描:攻击者可以使用SSRF漏洞来扫描目标服务器所在内网中的其他主机和端口,以便发现其他潜在的漏洞和攻击路径。
-
获取敏感信息:利用SSRF漏洞,攻击者可以请求内部系统上的敏感信息,例如配置文件、用户凭据、API密钥等。这些信息可能会被利用来进一步攻击系统或者进行个人数据泄露。
-
攻击本地服务:SSRF漏洞可以被用于攻击服务器上运行的本地服务,例如HTTP代理、DNS服务器等。攻击者可以通过对这些服务发送恶意请求,来导致服务拒绝服务(DoS)或者进一步攻击。
-
资源耗尽:攻击者可以利用SSRF漏洞来发送大量请求,并将服务器资源用尽,从而导致拒绝服务或系统崩溃。
CSRF和SSRF的区别
-
目标:CSRF漏洞主要针对用户,攻击者试图通过利用受害者的身份进行未经授权的操作。SSRF漏洞则主要针对服务器,攻击者试图通过操纵服务器发起攻击。
-
攻击方式:CSRF攻击通常涉及通过欺骗用户来执行恶意操作,比如在受害者在登录状态下访问一个恶意网站,从而利用他们的身份进行操作。SSRF攻击涉及通过操纵服务器来发起请求,攻击者会构造特定的请求,使服务器发送到非预期的目标。
-
影响范围:CSRF攻击的影响范围主要是用户级别的信息和操作,攻击者可能会利用受害者的身份执行操作,如发送电子邮件、修改密码等。SSRF攻击的影响范围更加广泛,攻击者可以通过服务器发起网络扫描、访问内部系统、读取敏感数据等。
-
防御措施:对于CSRF漏洞,常见的防御措施包括使用CSRF令牌(token)、检查Referer头等。对于SSRF漏洞,防御措施包括限制服务器可以发起请求的目标和端口、验证用户提交的URL等。