前端安全之CSRF
一、跨站点请求伪造(CSRF)
什么是csrf呢?
借助用户的身份去做有损用户利益(一些事情)的事情。
怎么实现跨站点请求伪造呢?
1、伪造者通过创造一个带有<a href="">或<img src="">标签地址指向伪造者创建的url的网页
比如:
<a href="http://bank.com/transfer.do?acct=MARIA&amount=100000">查看我的图片!</a>
<img src =“http://bank.com/transfer.do?acct=MARIA&amount=100000”width =“0”height =“0”border =“0”>
2、伪造者通过创造一个带有form表单的网页
<form action =“<nowiki> http://bank.com/transfer.do </ nowiki>”method =“POST”>
<input type =“hidden”name =“acct”value =“MARIA”/>
<input type =“hidden”name =“amount”value =“100000”/>
<input type =“submit”value =“查看我的图片”/>
</form>
如果某个网站有漏洞,伪造者就可以编写一个带有直接跳转这个网站的某个操作的链接的页面,用户点击伪造者创建的这个页面的url,就会执行伪造者想让用户执行的操作。假如这是一个有转账操作的网站,某个用户有在这个网站登录过,并且没有注销登录状态,用户身份一直可以被拿到,用户点击伪造者伪造的转账url,转账账户是伪造者的账户,用户就会将钱转给伪造者。
网站如何防止csrf攻击?
1、网站添加用户确认操作:
比如请求之前添加用户输入验证码、或是第二次确认密码、邮箱验证等功能
2、服务端随机产生token,验证token
进入页面,服务端随机生成一个token,然后存在session中,请求的时候服务端验证请求中的token是否与服务器存储的一致。
3、验证请求的来源,http referer字段
伪造者给的链接,这里是个模拟转账的链接,已经做了referer判断
总结:
所以我们不要随便去浏览一些不安全的网站,更不要在不安全的网站上去注册/登录自己的信息,谨慎在未知安全的网站去注册自己的信息,特别是涉及
到转账支付的网站,如果登录这样的网站,且没有主动去退出登录,破坏者就有机会利用这些不安全的网站的漏洞,利用你的身份去做一些损害你的利益
的事情,比如诱导你点击某个链接或按钮然后就执行不安全网站上的某个转账操作 。
我们常见的在网页上执行某个操作之前,被要求输入二维码、二次确认密码等都是为了防止攻击者借着用户的身份对网页去直接进行某个操作,在某些具有
重要的操作的网页,也可以利用服务器随机生成token的方式,去确认在执行重要操作时是可信任的用户在真正做执行操作,或是服务器通过判断请求的来源http中
的referer字段,确保执行操作的真实性。
参考资料:
学习node开发、部署服务:
https://github.com/nswbmw/N-blog/blob/master/book/4.15%20%E9%83%A8%E7%BD%B2.md#4151-%E7%94%B3%E8%AF%B7-mlab
跨站请求伪造crsf:
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
很容易懂的crsf讲解:
https://cloud.tencent.com/developer/article/1004943
前端安全之CSRF的更多相关文章
- 前端安全之CSRF攻击
前端安全之CSRF攻击 转载请注明出处:unclekeith: 前端安全之CSRF攻击 CSRF定义 CSRF,即(Cross-site request forgery), 中文名为跨站请求伪造.是一 ...
- 前端web安全-CSRF基础入门
前言 今天找了个新地方进行学习 嘿嘿 采光不错!特别适合看书呢. 前言 1.CSRF 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click att ...
- 前端安全问题之CSRF和XSS
一.CSRF 1.什么是 CSRF CSRF(全称 Cross-site request forgery),即跨站请求伪造 2.攻击原理 用户登录A网站,并生成 Cookie,在不登出的情况下访问危险 ...
- web前端学习路线(含20个真实web开发项目集合)
目前web前端工程师日均岗位缺口已经超过50000,随着互联网+的深入发展,html5作为前端展示技术,市场人才需求量将呈直线上涨. Web前端工程师的岗位职责是利用HTML.CSS.Java.DOM ...
- Web前端--黑客技术揭秘(菜鸟知识)
一,Web安全的关键点 1.同源策略是众多安全策略的一个,是Web层面上的策略.很重要. 2.同源策略规定:不同域的client脚本在没明白授权的情况下.不能读写对方的资源. 3.同域要求两个网站同协 ...
- Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09
目录 昨日补充:将自己写的 login_auth 装饰装在 CBV 上 django 中间件 django 请求生命周期 ***** 默认中间件及其大概方法组成 中间件的执行顺序 自定义中间件探究不同 ...
- 自学web前端达到什么水平,才能满足求职的标准?
大多数野生程序员最棘手的问题就是如何依靠技术解决温饱,通俗来讲就是技术折现的问题. 如果是单纯出于兴趣,或者只是为了突击某一阶段或者某一项目技术壁垒,不跟就业挂钩的自学倒也是无关痛痒.但是当上岗成为自 ...
- SpringSecurity框架下实现CSRF跨站攻击防御
一.什么是CSRF 很多朋友在学习Spring Security的时候,会将CORS(跨站资源共享)和CSRF(跨站请求伪造)弄混,以为二者是一回事.其实不是,先解释一下: CORS(跨站资源共享)是 ...
- 关于SSRF与CSRF漏洞的解释
目录 SSRF服务端请求伪造(外网访问内网) 1.SSRF形成原因 2.利用SSRF漏洞的目的 3.SSRF漏洞的用途 4.SSRF漏洞的特性 实例 5.如何挖掘SSRF漏洞 6.常用SSRF去做什么 ...
随机推荐
- iproute2 与 net-tools
https://linux.cn/article-4326-1.html https://blog.csdn.net/astrotycoon/article/details/52317288 如今很多 ...
- 超链接(空链接-target-title属性)
空链接:<a href="#">内容</a> 超链接标签: <a href=" " >内容</a> 属性: hr ...
- Gym101002 2016NAIPC(队内第7次训练)
(由于先看的最后一题,然后又一直WA,导致这场有点爆炸,我背锅. A .Fancy Antiques 题意: 选择最多k个商店,买n个物品,每个物品分别对应两个店售卖,求最小花费是多少.n<10 ...
- Vue的新启之笔
之前就有接触Vue这一语言,作为一个摊薄饼的我,觉得其基础性的知识体系与其他语言是相通的.且由于贵阳这一城市的地理位置的特殊性,我不得不承认想要从事软件开发这一行业,不精通一门语言不行.因为,任何一家 ...
- MergeKLists
public ListNode mergeKLists(ListNode[] lists) { if(lists==null||lists.length==0) return null; Priori ...
- 剑指offer-反向遍历链表-栈和递归2种方法(一次性跑通)
- software download
Develop Sourceinsight 3.50.0066 http://pan.baidu.com 这个版本支持输入文件名的一部分来查找文件,而不像3.50.0029必须输入完整的文件名 VFP ...
- <------------------字节流--------------------->
字节流: 输入和输出:1.参照物都是java程序来惨遭 2.Input输入,持久化上的数据---->内存 3.Output输出,内存--->硬盘 字节输出流: OutputStream: ...
- Terraform Detecting Drift
转自:https://www.terraform.io/docs/extend/best-practices/detecting-drift.html 这篇文章主要说明了对于资源如何处理 read&a ...
- tile38 一款开源的geo 数据库
tile38 是基于golang 编写的geo 数据库,支持地理空间索引.实时地理围栏,同时也支持leader-flower 的部署模型 备注: 下边测试一个简单的地理围栏功能 环境准备 docker ...