CSRF(Steam的链接不用随便点)
漏洞详解
CSRF
漏洞原理:
攻击者会冒充或利用用户本人对web服务器发送请求,然而web服务器无法识别该请求是否为用户本人所发送,因此造成各种危害。
漏洞利用过程:
1)首先需要用户登录了上网站,并产生了cookie
2)构造恶意链接
3)在用户还保持着登录状态时,去诱导用用户点击链接
4)链接中的恶意脚本在用户的浏览器上执行,进而达到攻击者的目的
漏洞危害:
攻击者会利用用户的名义去进行发送邮件,转账等各种不利于用户本人的操作,这对于受害者的名誉以及财产都有着损失
CSRF分类:
1)get型
get很好理解,如果是get请求,URL中就会有参数显示,这里的get也是一样
如:
https://域名/login.php?id=admin&password=123456
在诱导用户admin点击该链接,他的密码就会被改为123456了
案例:(都是用pikachu靶场)
初始信息
构造一个链接帮我的战队投票
吸引用户登录
点击后
就成功将性别修改为joker了
2)post
就是URL中不会显示参数,post 中,攻击者会对网站进行抓包,并且分析整个数据包的构造,然后把相关的内容(如密码)修改为自己想要的参数,然后同样是诱导用户去点击我们精心准备的 WEB 界面
案例:
这是初始信息
然后打开bp,在点击submit修改完成
得到
看到是post型
点击
将我们要修改的性别的value改为joker
然后点击Copy HTML
得到
将他放进你要构造的链接里面,得到
用户在点击后,性别就会变为joker
其实steam里面的链接也是一样,只不过他们的链接里面嵌入了恶意脚本,来代替你发送请求
CSRF的防护:
1)设置二级密码
如用户发送转账等较为重要的请求时,应输入二级密码进行确认,如微信、支付宝的支付密码,和王者荣耀的二级密码
2)验证请求中的reference
在请求在有一个参数,reference,它可以知道你请求的来源,如你在百度搜索我为什么这么帅,点击第一个结果,那么那个请求的reference就是www.baidu.com
为了防范CSRF那么就要对重大请求的每一步都有进行reference验证
3)Token验证
Token含义:
用户在成功登录后,服务器端会生成一串字符串,也就是Token,并发送给客户端,可以由前端指定存放到localStorage、sessionStorage或cookie中,用于用户在每次请求的时候带上 Token 证明自己的合法地位
如果我们点击了恶意链接,触发了向服务器端发送请求,会自动携带我们的cookies去请求
而如果设置了Token就不会,之所以怎么说是因为Token是一种自定义的字符串,没有自主的功能,因此由浏览器发送的请求是不会自动携带Token的,当然又有一点前提的,不能放在cookies
CSRF(Steam的链接不用随便点)的更多相关文章
- 如何添加商*通新对话快捷链接?不用js代码
我们在使用商务通一般都是在页面中嵌入一段js代码,如果您是js洁癖,是不是在想着如何直接用一张小图加上商*通新对话链接来代替呢?好,那就一起来研究一下吧. 首先,我们打开一个有商*通js弹窗的页面,比 ...
- 替换a链接的href和title
新项目准备验收,客户检测网页有安全隐患,说是当前网页使用“http://”有风险,指定外部链接不用“http://”怎么整…… 后来想到用JS替换字符串去操作,找了半天总算找到合用的,最终是用JQ去更 ...
- [视频]K8飞刀 Discuz csrf Exp教程
[视频]K8飞刀 一键构造Discuz csrf Exp教程 链接:https://pan.baidu.com/s/1tVseP_ZBneKpXQueIncPcA 提取码:6qnh
- Java 安全之:csrf攻击总结
最近在维护一些老项目,调试时发现请求屡屡被拒绝,仔细看了一下项目的源码,发现有csrf token校验,借这个机会把csrf攻击学习了一下,总结成文.本文主要总结什么是csrf攻击以及有哪些方法来防范 ...
- Django框架(十二)-- 中间件、CSRF跨站请求伪造
中间件 一.什么是中间件 请求的时候需要先经过中间件才能到达django后端(urls,views,templates,models) 响应的时候也需要经过中间件才能到达web服务网关接口 djang ...
- CSRF绕过后端Referer校验
CSRF绕过后端Referer校验分正常情况和不正常的情况,我们这里主要讨论开发在写校验referer程序时,不正常的情况下怎么进行绕过. 正常情况 正常的情况指服务器端校验Referer的代码没毛病 ...
- CSRF的几种防御方法的利弊分析
本文直接从防御方式开始讨论,防御CSRF有4种方法: 使用POST替代GET 检验HTTP Referer 验证码 Token 使用POST替代GET 一些程序员在开发的时候都是用GET.POST通用 ...
- 【剑指offer】65. 不用加减乘除做加法
剑指 Offer 65. 不用加减乘除做加法 知识点:数学:位运算 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用 "+"."-"."* ...
- pikachu CSRF
CSRF简介 CSRF 是 Cross Site Request Forgery 的 简称,中文名为跨域请求伪造在CSRF的攻击场景中,攻击者会伪造一个请求(一般是一个链接)然后欺骗目标用户进行点击, ...
- CSS 继承深度解析
FROM ME: 之前在研究前端性能优化的时候,就有学习关于CSS中“善用CSS中的继承”. 原文:CSS Inheritance, The Cascade And Global Scope: You ...
随机推荐
- 【解决一个小问题】macbook m2 上交叉编译 gozstd
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 已知 zstd 是一个优秀的压缩库,gozstd封装了这个 ...
- Ubuntu编译Xilinx的u-boot
博主这里的是Ubuntu20.04LTS+Vivado2017.4+ZedBoard 注意:本文使用的环境变量导入方法是临时的,只要退出当前终端或者使用其他终端就会失效,出现异常问题,请随时expor ...
- 人工智能创新挑战赛:海洋气象预测Baseline[4]完整版(TensorFlow、torch版本)含数据转化、模型构建、MLP、TCNN+RNN、LSTM模型训练以及预测
人工智能创新挑战赛:海洋气象预测Baseline[4]完整版(TensorFlow.torch版本)含数据转化.模型构建.MLP.TCNN+RNN.LSTM模型训练以及预测 1.赛题简介 项目链接以及 ...
- Web 3.0 - 圈里的百科
Web3.0只是由业内人员制造出来的概念词语,最常见的解释是,网站内的信息可以直接和其他网站相关信息进行交互,能通过第三方信息平台同时对多家网站的信息进行整合使用:用户在互联网上拥有自己的数据,并能在 ...
- (python)每日代码||2024.1.18||元组中的列表成员可以改变内容,不可以改变该列表成员
t = ([1,2,3],[2,3,4],3) print(t) t[0][1]=9 print(t) # ~ t[2]=9#TypeError: 'tuple' object does not su ...
- 零基础入门Vue之To be or not to be——条件渲染
温故 上一节:零基础入门Vue之皇帝的新衣--样式绑定 在前面的内容能了解到,Vue不仅仅能进行数据渲染还可以对样式进行绑定 并且他能随意的切换样式,但Vue的初衷就是尽量少让使用者操作dom节点 加 ...
- MySQL 联合索引、复合索引
复合索引也叫联合索引,经常使用,遇到问题,可以看下 这3篇文章: 1. https://www.jb51.net/article/229580.htm 2. https://blog.csdn.net ...
- java bean 慎用 is开头isXxx开头的属性,若必须得用,那么一定要记得 idea自动生成的 setter 和 getter会不标准,从而会引起问题,他自动生成后,需要手工再次进行修改,才可使用,要不然有可能引起各种问题
直接上例子: 然后用 Idea 自动生成 getter 和 setter public class XyzBean { //最普通的 private String name; //Boolean类型, ...
- Embedding 模型部署及效果评测
写在前面 最近大模型发展迅速,与之对应的向量化需求也被带动起来了,由此社区也衍生出很多模型,本文选几款,简单做下评测. 前置概念 为方便读者,先简单介绍几个概念. 概念1:Vector Embeddi ...
- JOISC 2020 记录
Day1 T1 Building 4 首先有一个 \(O(n^2)\) 的 DP:记 \(f_{i,j,0/1}\) 表示已经填了前 \(i\) 位,其中有 \(j\) 位选择了 A 序列,当前第 \ ...