常见WEB漏洞----CSRF

CSRF (Cross-site request forgery)

跨站请求伪造

也被称为One ClickAttack 或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

它通过伪装来自受信任用户的请求来利用受信任的网站。

与XSS攻击相比,CSRF攻击性往往不大流行 (因此对其进行防范的资源也相对少) 和难以防范,所以被认为比XSS更具危险性。

CSRF漏洞原理

利用用户在目标网站上已经建立的信任关系来执行未经授权的请求。攻击者通过诱使受害者在浏览器中执行恶意请求,使目标网站误认为这些请求是合法的受害者登录目标网站,生成与其身份关联的凭证(Cookie) 。

攻击者构造恶意页面,其中包含攻击出者构造的未经授权的请求。

攻击者诱导受害者访问恶意页面,使其在浏览器中加载。

恶意页面中的恶意请求自动执行,由于受害者已登录并保存了相关凭证,浏览器会自动发送包含用户凭证的请求至目标网站。

目标网站接收到来自受害者浏览器的请求,由于无法判断请求的来源是否合法,错误地认为是合法请求,执行恶意操作。

攻击成功,攻击者利用受害者的身份执行未经授权的请求,可能导致各种后果

CSRF

1.假设用户登录他的银行账户,并在浏览器中保持会话。

2.同时,用户还在另一个选项卡中打开了一个恶意网站,该网站上包含了一个恶意表单,其目标是执行转账操作。

3.当用户点击恶意网站上的按钮时,实际上是提交了一个跨站请求到银行网站,请求中包含了执行转账的指令。

4.由于用户已经在银行网站上登录并保持了会话,浏览器会自动将相关的身份认证信息 (如Cookie) 包含在请求中。

5.银行网站接收到该请求时,会错误地认为这是用户的合法请求,并执行转账操作,将资金转移到攻击者指定的账户上受害者与第三方网站做交互

XSS

1.假设有一个社交媒体网站,允许用户在他们的个人资料中输入自我介绍

2.攻击者lm在他的个人资料中注入了一段恶意的JavaScript代码。

3.当其他用户访问lm的个人资料页面时,他们的浏览器会执行该恶意JavaScript代码

4.恶意代码可能用于窃取其他用户的会话令牌、发送恶意请求、篡改页面内容或其他恶意行为受害者直接与目标网站做交互

CSRF漏洞是利用用户在目标网站上的信任关系来执行未经授权的请求,而XSS漏洞则是通过在网站上注入恶意代码来影响其他用户的浏览器行为。

CSRF攻击利用了用户的身份,而XSS攻击则利用了网站上的安全漏洞,允许攻击者在其他用户的浏览器上执行恶意代码。这两种漏洞类型需要采取不同的安全措施进行预防和防御。

CSRF漏洞危害

未经授权的操作: 攻击者可以修改受害者的个人资料、发送钓鱼邮件、发布垃圾信息,甚至执行资金转账等操作,而受害者并不知情。

信息泄露: 攻击者可以构造一个请求,使受害者的浏览器在访问恶意网页时发送带有用户敏感信息的请求,进而将这些信息发送给攻击者。

篡改数据: 攻击者可以构造恶意请求,使受害者的浏览器在访问恶意页面时自动执行请求,从而修改用户的数据,包括个人信息、文章内容、评论等。

恶意操作传播: 如果目标网站允许用户之间互相信任并进行操作,攻击者可以利用CSRF漏洞将恶意操作传播给其他受信任的用户。这可能导致更广泛的影响和攻击扩散。

损害用户信任和声誉: 如果用户发现他们的账户遭受了未经授权的操作,他们可能会失去对目标网站的信任,这可能对网站的声誉和业务造成负面影响。

防范CSRF漏洞

启用同源策略(Same-Origin Policy)

浏览器的同源策略可以防止跨域请求,因此确保目标网站只接受来自相同域名的请求。这样可以防止攻击者通过恶意网站发送伪造的跨站请求

使用CSRF令牌(CSRF Token)

在网站中实施CSRF令牌是一种常见的防御方法。每次向服务器发送请求时,都要在请求中包含一个随机生成的令牌。服务器在接收到请求时验证令牌的有效性,如果令牌无效,请求将被拒绝。这样可以防止攻击者伪造请求,因为攻击者无法获取有效的CSRF令牌。

验证HTTP Referer头

在服务器端验证请求的Referer头可以检查请求的来源。只接受来自合法来源的请求,拒绝来自其他网站的请求。然而,值得注意的是,Referer头并不总是可靠,因为它可以被篡改或者某些浏览器可能不会发送该头部信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值