博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CRSF 原理以及预防
阅读量:6419 次
发布时间:2019-06-23

本文共 767 字,大约阅读时间需要 2 分钟。

crsf攻击原理

CRSF(跨站请求伪造)是攻击站点伪造请求,冒充用户身份在受信任站点进行操作。具体过程如下:

(1)用户向信任站点如example.com发送请求

(2)用户验证通过、获得信任站点的身份信息,并放入cookie中,用户此时可以在站内进行其他请求

(3)用户未退出登录example.com,然后访问hack.com网站,该网站返回攻击性代码并且在页面中存在访问example.com的请求

(4)浏览器在用户可能不知情的情况下向example.com发送请求

(5)由于同域名可以带上cookie信息,因此信息认证通过,请求伪造成功

image

crsf预防方式

(1)检测请求来源

在请求头中有一个refree字段,refree记录了发送请求的域名,比如:hack.com向example.com中发送请求,那么refree就为hack.com,只要在处理请求中做相应的校验就可以中断请求。

(2)加入token校验

crsf之所以能够伪造请求成功,其原因之一在于所有的用户信息放于cookie中;因此可以在每次请求中加入token,然后后台进行校验,如果校验通过则进行处理。生成token方式之一如下:

function getToken (token) {    var str = token || '';    var hash = 5381;    for (var i = 0, len = str.length; i < len; ++i) {        hash += (hash << 5) + str.charCodeAt(i);    }    return hash & 0x7fffffff;}

转载于:https://www.cnblogs.com/zsblogs/p/9498089.html

你可能感兴趣的文章
003-诠释 Java 工程师【一】
查看>>
[转]Java 变量和常量
查看>>
浅析rune数据类型
查看>>
物联网架构成长之路(29)-Jenkins环境搭建
查看>>
普通用户开启AUTOTRACE 功能
查看>>
1034 - Navigation
查看>>
CSS3自适应字体大小(vw vh)
查看>>
Bind+Nginx实现负载均衡
查看>>
游侠原创:推荐一款免费的Syslog转发工具
查看>>
巧用Zabbix自定义监控Mysql性能状态
查看>>
一些Java反编译工具/源代码查看工具的介绍
查看>>
UIKeyboard键盘相关知识点-IOS开发
查看>>
你真的会 snapshot 吗? - 每天5分钟玩转 OpenStack(163)
查看>>
onAttachedToWindow和onDetachedFromWindow调用时机源码解析
查看>>
虚拟机外接USB设备情况的vMotion问题
查看>>
单车骑行流数据分析
查看>>
弹幕有硬伤,转变主流成妄想
查看>>
Windows Phone 实用开发技巧(4):每隔一段时间屏幕截图一次
查看>>
PXE批量实现自动化安装系统
查看>>
文档!重要的事情说第四遍~
查看>>