csrf跨站点请求伪造
什么是csrf(跨站请求伪造)
伪造请求的定义有很多种,我将不是用户本意发出的请求统称为伪造请求(在用户不知情的情况下执行某些操作)xss的通过用户对浏览器的信任造成的,csrf是通过服务器对浏览器的信任造成的
csrf的原理及过程:
假设有a用户和b网站c网站 c网站为恶意网站
a用户正常登录b网站,登录成功,b网站返回一个cookie给a用户
b用户访问c网站,c网站在a用户不知情的情况下要求a的浏览器访问b网站的特点功能,浏览器正常执行
b网站接到a浏览器的请求,正常执行a用户浏览器的请求
csrf形成的前提:
与攻击方处于同一浏览器,用户处于登录状态并且用户访问了攻击方的链接
csrf攻击过程:
当用户执行修改密码操作时候,向网页提交了一个正常的请求

根据这个请求配置一个方式配置一个专门的网页,当访问这个网页的时候,这个网页会发出一个iframe框架请求请求了修改密码请求,将密码修改为123,display是设置框架的隐藏

受害者访问过程:
我们更换用户登录

登录成功:访问网址

退出登录

密码已经被修改成123

csrf的防御:
1.服务器端验证请求浏览器的Referer参数(该参数表示的是从哪个网页发出的请求)

2.增加随机token 验证

3.Cookie中的http-only属性验证
csrf跨站点请求伪造的更多相关文章
- Python Django框架笔记(四):数据分页和CSRF跨站点请求伪造
(一)数据分页 可以参考 https://docs.djangoproject.com/en/2.0/topics/pagination/ 模板:如果只要显示 1.2.3.4.5.6....的话, ...
- 密码学系列之:csrf跨站点请求伪造
目录 简介 CSRF的特点 CSRF的历史 CSRF攻击的限制 CSRF攻击的防范 STP技术 Cookie-to-header token Double Submit Cookie SameSite ...
- CSRF跨站点请求伪造漏洞问题
最近在写php,项目写完后送检发现一个漏洞问题CSRF,强行拖了我一天的时间,沉迷解决问题,茶饭不思,日渐消瘦,时间比较赶,这篇比较糙,凑合看下. 好了废话不多说下面是今天的解决方案. 博主用的是Th ...
- python---xss(Cross Site Scripting)跨站脚本攻击和csrf(xsrf)跨站点请求伪造(Cross—Site Request Forgery)攻击
xss跨站脚本攻击:恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的. 例如:某些论坛允许用户自由发言,而 ...
- 跨站点请求伪造(CSRF)学习
一.CSRF介绍 伪造一个站点,在站点中伪造一个向其他站点的请求,在用户访问该站点时让用户执行 假设有如下URL能删除一篇文章: 攻击者在自己的域中构造一个页面: 内容为: 使用一个img标签,其地址 ...
- 跨站点请求伪造(CSRF)
一.前言 跨站点请求伪造(Cross-SiteRequest Forgeries, CSRF),是指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动 ...
- [不常用] - CSRF(跨站点请求伪造)
CSRF,Cross Site Request Forgery,即跨站点请求伪造. 这种攻击是指,在用户正常登录系统以后,攻击者诱使用户访问一些非法链接,以执行一些非法操作. 比如:如果删除用户操 ...
- Appscan漏洞之跨站点请求伪造(CSRF)
公司前段时间使用了Fortify扫描项目代码,在修复完这些Fortify漏洞后,最近又启用了Appscan对项目代码进行漏洞扫描,同样也是安排了本人对这些漏洞进行修复.现在,针对修复过的Appscan ...
- 跨站点请求伪造 - SpringBoot配置CSRF过滤器
1. 跨站点请求伪造 风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务. 原因:应用程序使用的认证方法不充分. ...
随机推荐
- Java自学-Lambda 方法引用
Lambda 方法引用 步骤 1 : 引用静态方法 首先为TestLambda添加一个静态方法: public static boolean testHero(Hero h) { return h.h ...
- Jquery实现挂号平台首页源码2
第二个版本:点击预约挂号可跳转到排班表,获取之后7个星期的排班 先放图 首先是index.html <!DOCTYPE html> <html lang="en" ...
- iframe在iphone手机上的问题
问题1: 通过document.addEventListener("scroll",function(){})对页面滚动监听事件进行监听,但ios下$(document).scro ...
- 【spring boot】SpringBoot初学(2.2)– SpEL表达式读取properties属性到Java对象
前言 github: https://github.com/vergilyn/SpringBootDemo 代码位置:(注意测试方法在,test下的SpelValueApplicationTest.c ...
- Hbase架构剖析
HBase隶属于hadoop生态系统,它参考了谷歌的BigTable建模,实现的编程语言为 Java, 建立在hdfs之上,提供高可靠性.高性能.列存储.可伸缩.实时读写的数据库系统.它仅能通过主键( ...
- UVA10791-Minimum Sum LCM(唯一分解定理基本应用)
原题:https://vjudge.net/problem/UVA-10791 基本思路:1.借助唯一分解定理分解数据.2.求和输出 知识点:1.筛法得素数 2.唯一分解定理模板代码 3.数论分析-唯 ...
- SDN的深入思考(1):SDN的核心本质到底是什么?
原文链接:https://blog.csdn.net/maijian/article/details/41744535 SDN的概念从提出到现在已经过了4年多了,但是关于SDN最基本的问题,“什么是S ...
- 0级搭建类003-CentOS Linux安装 (CentOS 7)公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
- IDEA常用的几个插件
目录 1. 阿里巴巴代码检测插件 2. Json转Pojo插件 3. mybatis辅助插件 4. 翻译插件 5. markdown插件 6. RestfulToolKit插件 IDEA常用插件 1. ...
- Winform递归绑定树节点
/// <summary> /// 绑定树节点 /// </summary> /// <param name="pid"></param& ...