csrf攻击防御 php,Yii2.0防御csrf攻击方法
yii2中无论是用测试工具POSTMAN、用命令行CURL请求、ajax请求总是会得到http400:Bad Request的错误;而如果用Web网页方式GET访问(去除verbFilter的POST限制),是正常的
通过查阅资料发现,这是CRSF验证的原因
原理:
Cookie Hashing, 让服务器发送给客户端的所有表单中都标示一个随机值_csrf,并同时在客户端的COOKIE中保存一个相关联的token;
验证的时候,服务端每次对接收到的请求_POST()过来的一个input hidden _csrf跟客户端的COOKIE中的token进行对照验证
攻击者攻击的原理是利用了客户端的COOKIE,但是攻击者是得不到COOKIE具体的内容的,他只是利用(这里抛开XSS攻击的可能性,由于用户的Cookie很容易由于网站的XSS漏洞而被盗取,这就另外的1%。一般的攻击者看到有需要算Hash值,基本都会放弃了);所以攻击者没法在攻击URL中加入token,这样就无法通过验证。
这可能是最简单的解决方案了,因为攻击者不能获得第三方的Cookie(理论上),所以表单中的数据也就构造失败了
解决方案:
1.禁用CRSF验证(不推荐):'enableCsrfValidation' => false,
'components' => [
'request' => [
'cookieValidationKey' => '83r5HbITBiMfmiYPOZFdL-raVp4O1VV4',
'enableCookieValidation' => false,
'enableCsrfValidation' => false,
]
2.数据提交时,携带 csrf 信息
a.调用组件ActiveForm时,提交数据会自动带上_csrf
b.ajax提交时可以在头部获取到csrf信息(如下图),与要提交的数据一并提交即可
c.也可以通过php获取csrf信息
Yii::$app->request->csrfParam;(获取csrf-param)
Yii::$app->request->csrfToken;(获取csrf-token)
csrf攻击防御 php,Yii2.0防御csrf攻击方法相关推荐
- WEB攻击手段及防御第3篇-CSRF
概念 CSRF全称即Cross Site Request forgery,跨站点请求伪造,攻击者通过跨站点进行伪造用户的请求进行合法的非法操作,其攻击手法是通过窃取用户cookie或服务器sessio ...
- 跨站请求伪造(CSRF)示例、原理及其防御措施
文章目录 概述 例子 原理 防御 使用token验证 判断Referer/Origin SameSite Cookie属性 概述 CSRF是Cross Site Request Forgery的缩写, ...
- 常见的网站攻击以及如何防御自己的网站被恶意攻击
常见的网站攻击 1,XSS攻击:Cross Site Script,跨站脚本攻击,指黑客通过篡改网页,在提交的内容中写一些恶意攻击的js脚本.举个例子,攻击者在网站留言或者发布带有恶意脚本的连接,诱导 ...
- 758.6G每秒:阿里云成功防御国内最大规模Memcached DDoS反射攻击
本周,阿里云安全DDoS监控中心数据显示,利用Memcached 进行DDoS攻击的趋势快速升温.今天, 阿里云已经成功监控和防御一起流量高达758.6Gbps的Memcached DDoS反射攻击. ...
- ARP攻击原理简析及防御措施
0x1 简介 网络欺骗攻击作为一种非常专业化的攻击手段,给网络安全管理者,带来严峻的考验.网络安全的战场已经从互联网蔓延到用户内部的网络, 特别是局域网.目前利用ARP欺骗的木马病毒在局域网中广泛传 ...
- 什么是Teardrop攻击?我们要如何防御Teardrop攻击?
Teardrop攻击是一种拒绝服务攻击,是一种基于UDP的病态分片数据包的攻击方法,英文"Tear"是"眼泪"的意思,"drop"是&quo ...
- 【Web安全笔记】之【7.0 防御技术】
文章目录 7.0 防御技术 7.1 团队建设 7.1.1 人员分工 1. 部门负责人 2. 合规管理员 3. 安全技术负责人 4. 渗透/代码审计人员 5. 安全设备运维人员 6. 安全开发 7.1. ...
- 常见的web攻击有哪些?如何防御?
web攻击是什么 Web攻击(WebAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为,如植入恶意代码.修改网站权限.获取网站用户隐私信息等 Web应用程序的安全性是任何基于Web业务的 ...
- 浅析防御僵尸网络基于应用层的DDOS攻击
近期数据显示,针对应用层的DDOS攻击有加速的趋势.据预测,基于应用层的DDOS攻击每年以三倍的速度增长,Gartner预测DDOS攻击会占2013年所有的应用层攻击中的25%左右.研究指出,黑客现在 ...
最新文章
- 剑指offer:面试题11. 旋转数组的最小数字
- [转载]AIX 上 Lotus Domino 的内存使用
- U-boot mkimage指定Linux内核地址时的两种方式
- LeetCode-二分查找-278. 第一个错误的版本
- cloudera manager 及CDH卸载
- 争议“云游戏”:一个几十亿规模的颠覆者?一场徐虎飘渺的幻梦
- 服务器防火墙,linux下iptables防火墙配置相关
- Android 开发者们,如何使用 Python 来扩展 adb 命令?
- 蓝桥集训之位运算和相关函数
- 落实业务服务管理从基础设施管理做起
- 拓端tecdat|windows中用命令行执行R语言命令
- linux下安装xgboost
- [Cogs728] [网络流24题#3] 最小路径覆盖 [网络流,最大流,二分图匹配]
- Syncthing:开源 P2P 文件同步工具
- 整理下关于Visual Foxpro的技术
- 【NeurIPS 2019】Yoshua Bengio报告:深度学习系统从1代到2代中的基础知识
- 大一新生 电脑小白如何选择电脑 电脑知识全面讲解
- Gitlab用户角色权限Guest、Reporter、Developer、Master、Owner
- 史上最全电子元器件实物外形图+电路符号
- Github官网无法访问问题
热门文章
- 9、Windows驱动开发技术详解笔记(5) 基本语法回顾
- 两个场景怎样合在一起_Spring AOP应用场景你还不知道?这篇一定要看
- c java 异常_javac -version 异常
- 2.19 总结-深度学习-Stanford吴恩达教授
- STM32 进阶教程 7 - C与C++混合编程
- Altium Designer Exception ESocketError in module X2.EXE at 001B15CF (10107) on API 'Socket'
- Verdi - GUI技能操作 Before you start (未完)
- Xilinx---vivado系列
- Android Log等级的介绍
- iqooneo5支持鸿蒙系统吗,iqooneo5活力版有双卡双待吗_iqooneo5活力版支持5g吗