代码编织梦想

一、什么是CSRF

CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。

一个典型的CSRF攻击有着如下的流程:

  • 受害者登录a.com,并保留了登录凭证(Cookie)。
  • 攻击者引诱受害者访问了b.com。
  • b.com 向 a.com 发送了一个请求:a.com/act=xx。浏览器会默认携带a.com的Cookie。
  • a.com接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求。
  • a.com以受害者的名义执行了act=xx。
  • 攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让a.com执行了自己定义的操作。

二、几种常见的攻击类型

1.GET类型的CSRF

GET类型的CSRF利用非常简单,只需要一个HTTP请求,一般会这样利用:

![](https://awps-assets.meituan.net/mit-x/blog-images-bundle-2018b/ff0cdbee.example/withdraw?amount=10000&for=hacker)

在受害者访问含有这个img的页面后,浏览器会自动向http://bank.example/withdraw?account=xiaoming&amount=10000&for=hacker发出一次HTTP请求。bank.example就会收到包含受害者登录信息的一次跨域请求。

2.POST类型的CSRF

这种类型的CSRF利用起来通常使用的是一个自动提交的表单,如:

<form action="http://bank.example/withdraw" method=POST>
    <input type="hidden" name="account" value="xiaoming" />
    <input type="hidden" name="amount" value="10000" />
    <input type="hidden" name="for" value="hacker" />
</form>
<script> document.forms[0].submit(); </script> 

访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作。

POST类型的攻击通常比GET要求更加严格一点,但仍并不复杂。任何个人网站、博客,被黑客上传页面的网站都有可能是发起攻击的来源,后端接口不能将安全寄托在仅允许POST上面。

3.链接类型的CSRF

链接类型的CSRF并不常见,比起其他两种用户打开页面就中招的情况,这种需要用户点击链接才会触发。这种类型通常是在论坛中发布的图片中嵌入恶意链接,或者以广告的形式诱导用户中招,攻击者通常会以比较夸张的词语诱骗用户点击,例如:

 <a href="http://test.com/csrf/withdraw.php?amount=1000&for=hacker" taget="_blank">
  重磅消息!!
  <a/>

由于之前用户登录了信任的网站A,并且保存登录状态,只要用户主动访问上面的这个PHP页面,则表示攻击成功。

三、CSRF的特点

  • 攻击一般发起在第三方网站,而不是被攻击的网站。被攻击的网站无法防止攻击发生。
  • 攻击利用受害者在被攻击网站的登录凭证,冒充受害者提交操作;而不是直接窃取数据。
  • 整个过程攻击者并不能获取到受害者的登录凭证,仅仅是“冒用”。
  • 跨站请求可以用各种方式:图片URL、超链接、CORS(跨域资源共享)、Form提交等等。部分请求方式可以直接嵌入在第三方论坛、文章中,难以进行追踪。

CSRF通常是跨域的,因为外域通常更容易被攻击者掌控。但是如果本域下有容易被利用的功能,比如可以发图和链接的论坛和评论区,攻击可以直接在本域下进行,而且这种攻击更加危险。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/imagine_tion/article/details/111035961

【CesiumJS】嵌入视频之视频投影-爱代码爱编程

嵌入视频有2种方式,先说第一种,叫做视频投影,这种方式是在地面平铺个实体对象,比如四边形,然后把视频标签当做纹理的来源,贴到上面去。 废话不多说,直接上代码 (1)html部分 <video id="myVideo" muted="" autoplay="" loop="loop" crossorigin="*" controls="">

【echarts】vue引用 echarts 地图-爱代码爱编程

1、在vue项目中安装echarts npm i echarts -S 或 cnpm i echarts -S 2、在用到echarts地图的vue单页面中引入: import echarts from 'echarts' import '../../../node_modules/echarts/map/js/china.js' requi

终于找到了最详细系列之HTML字符实体-爱代码爱编程

HTML 字符实体 HTML 中的预留字符必须被替换为字符实体。一些在键盘上找不到的字符也可以使用字符实体来替换。 浏览器还会把以下字符当作空白进行解析:空格(&#x0020;)、制表位(&#x0009;)、换行(&#x000A;)和回车(&#x000D;)还有(&#12288;)等等。所以如果想显示空白需要使用

游戏活动开发-爱代码爱编程

       做游戏开发有一小段时间咯,进来都是修一些简单的小bug,不过通过修简单的bug也能快速熟悉代码逻辑,毕竟不可能把所有代码过一遍的,实在是太多了。       我是做游戏客户端的,这里稍微介绍一下如何做一个活动,比如A活动是一个达到某个条件后可领取特定奖励的活动。这个时间描述标题啥的一般是策划配置好,客户端只需要读表就可以了,服务端根据策划配

入行Web前端的学习方法有哪些?-爱代码爱编程

今天小编要跟大家分享的文章是关于入行web前端的学习方法有哪些?很多人想学习前端开发,但又不知该如何下手,下面小编来和大家一起说一说Web前端的学习方法有哪些。 一、了解Web前端 所谓“知己知彼,百战不殆”,在学习Web前端之前,还是让我们先了解一下什么是Web前端吧! 所有用户终端产品与视觉和交互有关的部分,都属于前端开发的领域。从狭义上讲,Web

Leaflet 自定义修改Marker点标记样式-爱代码爱编程

点标记基本用法使用示例: L.marker([50.5, 30.5]).addTo(map); 默认样式如图 实际项目中需要修改点标记的样式,如果仅仅需要更换图标,则可以使用Icon,使用示例如下: var myIcon = L.icon({ iconUrl: 'my‐icon.png', iconSize: [38, 95], iconAn

简析游戏公司的ddos防护方案,教你做出最合适的选择-爱代码爱编程

相信许多有游戏业务的公司都有一个共同的烦恼,那就是服务器的DDoS防护问题,因为服务器经常会受到一些DDOS攻击。许多游戏公司使用的服务器防不住攻击,十分影响玩家的体验,给公司也带来了巨大的损失。那么如何解决DDoS防护的问题就是迫在眉睫的事情了。 有人的地方就有江湖,互联网上也是如此。网络不断发达的今天,对于企业而言,网络服务器是否安全可能会牵涉到企业存

疫情期间电商行业DDoS攻击增长4倍!看看人家是如何进行DDoS防护-爱代码爱编程

现在,在许多行业领域里DDoS防护的意义已经不言而喻。据悉,近日StormWall专家研究了针对欧洲在线零售业的DDoS攻击。其结果表明:在欧洲的疫情期间,针对电子商务的DDoS攻击数量比去年同期增长了4倍之多。这对该行业的破坏力可想而知。 在电子商务领域,如果网站被攻击变得不可用,将会导致重大的利润损失,服务器瘫痪,卖家可能会因此错过很多订单。而这就引发

WebShell-爱代码爱编程

  WebShell   解释 在计算机科学中,Shell 俗称壳(用来区别“核”),是指“为使用者提供操作界面”的软件(命令解释器)。类似于windows 系统给的cmd.exe 或者Linux 下bash/sh 等,虽然这些系统的命令解释器不止一种。 WebShell 是一个网站的后门,也

安全巡检-爱代码爱编程

安全巡检 目的 识别信息系统存在的安全脆弱性、分析信息系统存在的风险,并及时采取措施予以整改,保障信息系统安全稳定运行 巡检收益 1、通过专业、严谨的安全巡检服务,确保客户IT环境的安全性和稳定性 2、大大降低客户的运维风险和运维成本 3、专业的安全技术和专业的人员及时、全面的掌握客户IT环境的安全现状和面临的风险,并提出改进建议,降低风险

php webshell探索-常见小马的opcode-爱代码爱编程

OpCode 一.php opcode二.常见小马的opcode1.直接型2.通过反射类调用3.通过排序函数调用4.通过类的混淆1.类的魔术方法2.类的自定义方法3.反序列化5.通过函数的混淆6.普通的混淆7.其他的隐藏方式1.ob_start2.register_shutdown_function3.回调函数4.数组5.反引号三.总结 一.p

vuluhub靶场实战之breach1.0-爱代码爱编程

环境 kali(攻击):192.168.110.128 breach(靶机):192.168.110.140 0x01 主机发现 netdiscover -i eth0 -r 192.168.110.0/24 Currently scanning: Finished! | Screen View: Unique Hosts