网易web安全:课后问题-CSRF
什么是CSRF
利用用户已经登录的身份,在用户毫不知情的情况下,以用户的名义完成非法操作
CSRF攻击原理
- 用户登录web网站,此时浏览器含有用户登录信息
- 黑客构造恶意网站
- 用户主动访问恶意网页,转账到黑客用户。
真正完成转账的关键在于:浏览器cookie存放有用户的登录凭证,当浏览器发送请求时,会继续带上已有的cookie, 而受害网站本身也存在csrf漏洞,如无token校验,无法区别请求是用户还是攻击者
恶意网页的构造技巧: 含有攻击的网页不会显示任何内容,只会在加载的时候提交新的请求,实现转账操作
csrf的防御
Referer头检测法
Referer标识当前请求的来源页面,浏览器访问时除了自动带上Cookie还会自动带上Referer,所以服务端可以检测Referer头是否本网站页面来决定是否响应请求。
Referer是浏览器自动带上的,基于认为浏览器没有相关漏洞的前提下,我们可以认为攻击者是没法伪造Referer头的,也就是检测Referer头的方法是可靠的。
但该方式有时会不受认可,一是因为浏览器是可以设置禁止发送Referer头的,如果使用该方式那么禁止Referer头的浏览将无法正常使用,这可能会降低用户使用体验。二是因为由于移动端的崛起当下流行前后端分离app和web共用一套后端代码,但app是不会自动带Referer头的,如果使用该方式app端不好处理。
token检测法
当前主流的框架为了预防这种攻击,都是采用TOKEN机制。也就是说当用户与服务端进行交互的时候,传递一个加密字符串到服务端,服务端来检测这个字符串是否是合法的,如果不合法就有可能是黑客伪造用户信息进行请求的。
那么这个加密字符串是怎么生成的那?加密字符串是由后端程序生成,然后赋值到页面之上。一般是由当前控制器,方法,密钥,时间组合在一起加密而成。传递到服务端以后,服务端重新生成一遍,如果一致就是合法的,否则就是不合法的。
如上面的转账提交操作,如果采用Token校验,需要用户先去访问转账页面,正常服务器返回转账页面并返回一个与页面对应Token, 用户在填写完转账信息提交时候需要带上Token信息,这样服务器就知道这个转账申请是不是是由自己发送的。因为CSRF中攻击者是直接提交转账申请,并没有前面访问转账页面获取Token的过程。
扩展:那为什么现在的转账申请还需要验证码或短信校验的操作?
原因是,既然攻击者可以伪造转账申请提交页面,完全有可能通过伪造一序列的页面完成访问转账页面生成Token,并提交转账申请的操作。这个时候,如果服务器端通过短信校验的方式呢,用户一收到短信,就知道自己账号存在泄密风险了。就可能将这些伪造页面给戳破了。
网易web安全:课后问题-CSRF相关推荐
- 网易WEB白帽子-WEB安全基础
网易WEB白帽子 02..WEB安全基础 1.钓鱼 诱惑性的标题,仿冒真实网址,骗取用户账户,骗取用户资料 2.网页'篡改' hacked by Intitle : keyword 标题中还有关键字的 ...
- 网易WEB白帽子 -WEB安全工具
网易WEB白帽子 03 WEB安全工具 1. 浏览器 内容设置 允许弹窗 可运行Javascript脚本 内容设置 www.hackthissite.org 插件 HackBar Advanced C ...
- 网易WEB白帽子-WEB安全体系建设
网易WEB白帽子 05 WEB安全体系建设 SDL 安全开发生产周期 提升WEB应用的安全性 减少WEB应用的的安全漏洞 降低安全漏洞的修复成本 SRC 安全应急响应中心 WAF WEB安全应用防火墙
- 网易web安全工程师进阶网易web安全微专业从基础到进阶
这套课程是由网易和i春秋联合出品的一套网易web安全工程师进阶教程,课程的质量毋庸置疑,教程是我花了3000元从官网上买的,自己也是学习了这套教程,现在我分享给大家,课程包括网易web安全工程师基础课 ...
- Web攻防之XSS,CSRF,SQL注入
摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...
- 网易web白帽子学习笔记
部分转载他人 一.web基础知识 1.1.1web介绍 world wide web 万维网 web1.0 个人网站.门户站点 静态页面 web2.0 微博.博客交互式页面 随之而来有一些安全问题: ...
- 几种常见Web安全攻击方式 CSRF 、XSS 、SQL注入
ps: 如果有任何问题可以评论留言,我看到后会及时解答,评论或关注,您的鼓励是我分享的最大动力 转载请注明出处:https://blog.csdn.net/qq_40938301/article/de ...
- web基础漏洞之CSRF(跨站请求伪造漏洞)
cookie session token 我觉得在开始学习CSRF之前应该先学会区分这三种东西:cookie session token cookie: Cookie,有时也用其复数形式 Cookie ...
- web安全漏洞之CSRF
一.CSRF(跨站请求攻击)攻击的原理: 1.攻击原理: 网站使用cookie来存放用户的登录凭证 cookie会在同源的http请求中自动携带 2.基本攻击过程: 用户登录了受信任网站A,并在本地生 ...
最新文章
- Pcl:Normal的定义结构及输出
- 正向代理和反向代理??
- Python/Jupyter Notebook以及可视化的运用
- matlab识别不出linux链接,在Ubuntu上,从matlab调用外部脚本失败_linux_开发99编程知识库...
- python调用电脑蜂鸣器一直响_电脑开机蜂鸣器一直响,9声滴~,什么问题?怎么处理?...
- 基于modbus协议的工业自动化网络规范_工控学堂:解读Modbus通讯协议「宜收藏」...
- jpush java api_JPush極光推送Java服務器端API
- 学习过程中的一些想法
- 持续集成持续部署持续交付_自动持续开发和交付混合移动应用程序
- Android中Handler的使用方法——在子线程中更新界面
- tomcat内存占用过高_Tomcat 性能调优之 JVM 调优
- Mybatis-Spring扫描路径有重叠导致Invalid bound statement(not found)问题
- 运筹学——线性规划及单纯形法求解
- 多个条码标签如何在一张纸上打印
- IDEA打包程序与运行(windows环境)
- 分享几个小众又高薪的职业
- 《Think Python 2e》作业实现(二): 变量、表达式和语句
- gcc编译工具常用命令以及汇编语言
- 森林防火广播系统方案
- 投票找精英投票网是怎么回事?
热门文章
- python爬虫基础知识
- 马哈蒂尔:马云思维超前于时代,阿里巴巴能助力马来西亚重回正轨
- python中的命令,python学习——python中命令行
- 远程控制计算机控制不,远程控制电脑为什么打不了字
- 穿透内网远程访问群晖NAS
- 自然语言处理简介及研究方向
- matplotlib只显示部分横坐标刻度,隐藏部分横坐标刻度
- 【C语言】0x1F<<11等于0还是0xF800 ?
- Centos搭建服务
- 提示:Run-time error ‘339’:Cmponent 'MSCOMCTL.OCX'or one of its dependent..........的时候该怎么办?