CSRF学习
前提环境:网站存在CSRF漏洞(也就是过于相信访问请求,只判断了用户是否存在cookie,并未判断请求的发起者)
CSRF攻击原理,用户A需要转账,用户A正常向银行网站发送请求登录,登录成功后银行网站服务端把用户的cookie返回给浏览器,浏览器把cookie保存到本地,方便用户下次登录,这时候用户在没有退出银行网站的情况下,误访问了黑客网站,因为本地已经存在了A登录银行网站的cookie,这时候,黑客网站在用户不知情的情况下,独自携带存在本地的cookie向银行网站发送转账请求,银行网站一看,一校验cookie,对啊,确定这就是A发送过来的,遂在A不知情的情况下开始转账,入侵结束。有人会问,黑客网站什么时候,通过什么样的方式向银行发送的请求呢?这里假设银行转账是用过post请求,
localhost:5000/mm.html 就是黑客网站

这个网站看起来很简陋,什么都没有,实际上,只要你在本地存有cookie,并且点开了这个网站,银行就会向指定用户转账100万
查看代码

查看源码可以看到,黑客隐藏了一个form表单,只要刷新这个网站,黑客网站就会携带cookie向银行网站发起转账请求,因为只校验了cookie是否正确,银行网站接到后校验成功就会执行转
防御方法:

目前前三种方法并不是特别的有效,只能过滤一部分的CSRF攻击
第一种黑客可以构造post请求进行攻击
第二种黑客可以破解部分简单类型的验证码进行攻击
第三种黑客可以使用部分工具,比如说burpsuite进行修改refer进行攻击
第四种是目前较为有效,是普遍使用的防御CSRF攻击的主要方法,即加入token

token可以加在form表单中,也可以加在header头中,可以看到,加入token之后,刷新网站,每次刷新之后网站的token都会改变



CSRF学习的更多相关文章
- 初探csrf学习笔记
以下是学习了对CSRF的理解,大家切勿作为标准,如有出错请告之! 严禁转载.不想拿自己刚学到的知识去[误人子弟]之所以写出来是让自己巩固和增加理解,他日对此文有不当之处自会修改. [00x1]csrf ...
- csrf学习笔记
CSRF全称Cross Site Request Forgery,即跨站点请求伪造.我们知道,攻击时常常伴随着各种各样的请求,而攻击的发生也是由各种请求造成的. CSRF攻击能够达到的目的是使受害者发 ...
- CSRF学习小结
什么是CSRF CSRF,全称是Cross Site Request Forgery,也即跨站请求伪造.对于CSRF来说,它的请求有两个关键点:跨站点的请求和请求是伪造的. 跨站点的请求的来源是其他站 ...
- CSRF学习笔记之CSRF的防御【00x4】
referer 验证 根据HTTP协议,在http请求头中包含一个referer的字段,这个字段记录了该http请求的原地址.通常情况下,执行转账操作的post请求www.bank.com/trans ...
- CSRF学习笔记之CSRF的攻击与防御以及审计【00x3】
Hight.php完整代码如下: <?php if (isset($_GET['Change'])) { // Turn requests into variables $pass_curr = ...
- CSRF学习笔记之CSRF的攻击与防御以及审计【00x1 】
+++++++++++++++++++++++++++ + 00x1 实现简单的攻击 + 00x2 代码审计漏洞的源头 +++++++++++++++++++++++++++ 00x1 简单的csrf ...
- CSRF 学习笔记
1:什么是CSRF: 假设有一个支付网站:www.xx.com 向小明同学付款1000元数据包: www.xx.com/pay.php?name=xiaoming&account=xxxx@q ...
- CSRF学习笔记之CSRF的攻击与防御以及审计【00x2 】
Medium完整代码: <?php if (isset($_GET['Change'])) { // Checks the http referer header if ( eregi ( &q ...
- Asp.NET Core2.0 项目实战入门视频课程_完整版
END OR START? 看到这个标题,你开不开心,激不激动呢? 没错,.net core的入门课程已经完毕了.52ABP.School项目从11月19日,第一章视频的试录制,到今天完整版出炉,离不 ...
随机推荐
- 用MindManager画思维导图的好处有哪些?
大家都听说过思维导图吧?有没有将这样一种图形思维工具真正运用到我们的日常生活中去呢?是否真的知道思维导图怎么用呢?今天小编就来给大家讲一讲,思维导图怎么用. 老规矩,先给大家讲一讲小编用的软件跟系统, ...
- 【mq读书笔记】消息拉取
疑问:PullRequest何时添加? PullMessageService提供延迟添加与立即添加2种方式 疑问:PullRequest是在什么时候创建的呢? 1.上上图中 PullRequest p ...
- JZOJ2020年9月5日提高组反思
JZOJ2020年9月5日提高组反思 T1 考试的时候没有头绪,就打了个暴力,愉快的拿到了10分的\(impossible\) 正解是\(DP\),设\(f[i][j][k]\)表示地\(i\)种币值 ...
- python核心高级学习总结5--------python实现线程
在代码实现上,线程的实现与进程的实现很类似,创建对象的格式都差不多,然后执行的时候都是用到start()方法,与进程的区别是进程是资源分配和调度的基本单位,而线程是CPU调度和分派的基本单位.其中多线 ...
- Python中super()或object.__new__报TypeError: object.__new__() takes no arguments错误的解决方案
出现这种情况是调用object类__new__方法参数传递多了导致: 一般是使用了类似super().new(cls,*args,**kwargs) 或object.new(self,*args,** ...
- 第8.6节 Python类中的__new__方法深入剖析:调用父类__new__方法参数的困惑
上节<第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解>通过案例详细分析了两个方法的执行顺序,不知大家是否注意到了,在上述 ...
- 第15.38节 PyQt(Python+Qt)入门学习:containers容器类部件QDockWidget停靠窗功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QDockWidget类提供了一个可以停靠在QMainWin ...
- Nessus破解没有Scan选项的解决办法
如图,安装之后无Scan选项,流程按照吾爱破解上的文章:https://www.52pojie.cn/thread-1140341-1-1.html 解决办法为: 首先nessus.license在安 ...
- 从零开始的xxe学习
本文介绍了一个菜鸡对xxe的一步步学习(内容多来源于大佬的博客,先感谢一波) 涉及知识点: (1)xxe 目录: 解析: 1.xxe是什么(不详解了,网上很多的) XXE(XML External E ...
- Xmind Invalid Configuarton Location(the configuarton area is not writable)
今天在安装Xmind的时候,发现如下错误,原因:配置问题 步骤如下: 1.找到XMind安装目录下的文件XMind.ini2.文件中的内容替换:将:-configuration./configurat ...