前端安全之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去做什么 ...
随机推荐
- Codeforces Round #519
题目链接:传送门 A. Elections (思维+暴力) 思路: 从最小的k开始枚举就好了- -. #include <bits/stdc++.h> using namespace ...
- 质因子分解(Pollard_Rho法)
LL Pollard_Rho(LL n, LL c) { LL x, y, d; LL i = , k = ; x = y = rand() % n; do { i++; d = gcd(n + y ...
- python3.x 正则表达式的应用
正则表达式是我认为比较难的一个东西,今天忽然又学到了这个,想到写下来,以后作为参考手册使用. python如果想使用python需要引用re方法,在文件开始进行引用. import re 接下来说一下 ...
- hdu4059 The Boss on Mars 容斥原理
On Mars, there is a huge company called ACM (A huge Company on Mars), and it’s owned by a younger bo ...
- MySql中的一些小坑
1. mysql启动时,若使用mysqld_safe的方式启动服务,需要使用mysqladmin shutdown的方式来停止服务. 若使用mysqld shutdown的方式停止服务,有可能会出现如 ...
- Commons工具包的使用
使用步骤: 1.Java Project下新建Folder文件夹,命名lib 2.lib文件夹下把Commons-io-2.4jar包复制进去 3.右键Commons-io-2.4jar包,点击Bu ...
- goreplay 镜像nginx web app流量
goreplay 是一个很不错的流量拷贝,复制工具,小巧,支持一些扩展,当然也提供了企业版,企业版 功能更强大,支持二进制协议的分析 备注: 演示使用docker-compose 运行,测试镜像流量到 ...
- tile38 roaming-geofences 试用
tile38 支持动态实时的移动对象的数据监控 环境准备 docker-compose 文件 version: "3" services: app: image: tile ...
- MySQL全文本搜索
启用全文本搜索支持 create table text( -> id int not null auto_increment, -> texts text null, -> prim ...
- JSBridge 知识点
比较好的介绍文章: Android中JSBridge的原理与实现