#原创分享#AF-CSRF防护原理及注意事项
  

朱容成51537 12052人觉得有帮助

{{ttag.title}}

前言

在我们AF的WAF模块中,有CSRF防护功能,很多工程师不知到此功能的作用,且即使配置了CSRF防护后,也经常会遇到不生效的情况因此给大家某公司CSRF防护配置原理及注意事项。



CSRF 简介
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
CSRF 原理
CSRF攻击原理如下:
首先正常的用户输入口令登陆了网站A(被攻击站点)
网站A(被攻击站点)判断该用户口令合法,生产Cookie保存在浏览器中
用户在没关闭网站A的情况下,访问了网站B的攻击页面(攻击者站点)
网站B(攻击者站点)利用网站A留在浏览器的cookie,访问网站A的某个URL,并偷偷做了该URL能做的事情
CSRF攻击原理图:

547895fd82f6fc25e7.png

知道CSRF原理后,我们来进行漏洞利用一下
CSRF 漏洞利用方式

1.    首先我们搭建一台DVWA当csrf的靶机,搭建方法参考如下链接:
https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=113325

2.再CSRF攻防模块中故意输错修改的密码
344465fd82f7aa4b84.png


3.可以看到,URL中很明显,这就是修改密码的链接,DVWA靶机的low难度是没有做任何校验。
820795fd82f8251c1b.png


4.我们在其他网站中,写入跳转这个链接的页面,模拟CSRF攻击,利用CSRF漏洞将靶机密码改成1234
601005fd82f89551c1.png


5.登陆这个页面,单击写好的跳转页面选项
619125fd82f9637c3b.png


6.跳转后,我们可以看到漏洞利用成功,靶机密码被改成了1234
629175fd82f9e930af.png



以上就是CSRF漏洞利用利用的简单方法。知道了CSRF的原理及漏洞利用的方式后,我们来看看我们某公司WAF模块是如何防护CSRF的。


AF防护方式及注意事项
1.我以我们WAF单品为例,AF的WAF模块配置方式相同。先进入WAF的CSRF防护模块
768485fd82fb09d7c9.png


2.配置CSRF防护,我们可以看到,我们的WAF模块是直接以白名单的原理防护CSRF攻击的,设置允许跳转的白名单页面,不是从这个页面跳转的,WAF模块直接拦截,防止被CSRF漏洞利用,因此我们配置“需要防护的页面”中添加有CSRF漏洞的页面,允许来源页面配置只有此域名下的所有页面可以跳转:
920995fd82fb805caf.png


3.但是再次尝试漏洞利用后,依然可以利用成功,我们WAF模块的CSRF防护未生效
606525fd82fbec45c1.png


4.我们再AF上抓包查看报文,发现AF收到的报文没有referer字段
243175fd82fc5e43fc.png


5.而正常跳转的话,我们应该可以再报文中查看到referer字段,这个字段就是我们WAF模块防护的跳转URL,只有这个字段再白名单中,我们WAF模块才会进行阻断,而AF没有抓到这个字段
464545fd82fcfbea46.png


6.WAF没防护住的原因找到了,我们来到WAF模版的HTTP异常检测模块中,查看默认是不勾选referer字段的,因此我们WAF模块抓不到referer字段,造成CSRF防护不生效的原因,勾选此字段再进行尝试
454295fd82fd9c9da0.png


7.漏洞利用失败,成功被WAF模块拦截
370865fd82fe120a0c.png




8.在日志中可以查看到CSRF防护记录:
913655fd8300c5648c.png

总结
开启CSRF防护后,一定要再HTTP异常检测模块中,勾选referer字段!

打赏鼓励作者,期待更多好文!

打赏
29人已打赏

Sangfor2419 发表于 2020-12-25 20:15
  
感谢楼主分享,楼主非常详细的介绍了CSRF漏洞的利用原理和WAF的防护效果,期待楼主有更加精彩的分享~
TCN 发表于 2020-12-15 14:52
  
学习一下,只是安装了WAF,有这么多功能呀
人生lyt 发表于 2020-12-15 15:40
  
学习学习
司马缸砸了光 发表于 2020-12-15 16:20
  
继续学习,分享
新手078326 发表于 2020-12-15 18:04
  
感谢分享
JM 发表于 2020-12-15 18:45
  
感谢分享
新手780102 发表于 2020-12-15 18:51
  
感谢分享
hins杨 发表于 2020-12-15 20:21
  
果然是高手在民间,楼主帖子写的不错,很有参考价值,还想看更多精彩分享,期待楼主下一篇好帖!
guafeng00 发表于 2020-12-16 08:10
  
学习学习
午夜幽魂 发表于 2020-12-16 22:11
  
刚好在看CSRF的漏洞利用,就看到这个分享,实用呀
发表新帖
热门标签
全部标签>
每日一问
信服课堂视频
技术笔记
GIF动图学习
产品连连看
安装部署配置
项目案例
技术咨询
在线直播
功能体验
专家分享
新版本体验
答题自测
技术圆桌
原创分享
SDP百科
畅聊IT
专家问答
云计算知识
SANGFOR资讯
每日一记
运维工具
排障笔记本
产品预警公告
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
用户认证
解决方案
sangfor周刊
VPN 对接
技术顾问
信服故事
标准化排查
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术

本版版主

397
98
58

发帖

粉丝

关注

本版达人

新手61940...

本周建议达人

新手58573...

本周分享达人

新手58573...

本周提问达人