前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >渗透测试干货,网站如何防止CSRF攻击?

渗透测试干货,网站如何防止CSRF攻击?

原创
作者头像
雨笋教育
修改于 2021-11-08 07:19:43
修改于 2021-11-08 07:19:43
1.1K0
举报
文章被收录于专栏:雨笋教育雨笋教育

CSRF(跨站请求伪造)概述

– Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也称为"one click"攻击。 很多人搞不清楚CSRF的概念,甚至有时候会将其和XSS混淆,更有甚者会将其和越权问题混为一谈,这都是对原理没搞清楚导致的。

– CSRF与XSS的区别:CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。

– 因此,网站如果要防止CSRF攻击,则需要对敏感信息的操作实施对应的安全措施,防止这些操作出现被伪造的情况,从而导致CSRF。比如:

1. 对敏感信息的操作增加安全的token;

2. 对敏感信息的操作增加安全的验证码

3. 对敏感信息的操作实施安全的逻辑流程,比如修改密码时,需要先校验旧密码等。

CSRF的实现过程:

接下来实际在靶场当中实践一下:

CSRF(get)

1.先点一下提示

找到有哪些用户

2.登录vince

3.修改个人信息,burp抓包

4.生成csrf poc

copy html放到网站目录下(先建txt,粘贴后改后缀为html)

5.登录kevin用户,然后访问csrf poc

访问后点击,发现kevin用户信息已经被更改

到这就实际体验了文章开头的csrf 流程

顺带提一下渗透测试中两个常见的名词:

POC:全称 ' Proof of Concept ',中文 ' 概念验证 ' ,常指一段漏洞证明的代码。

EXP:全称 ' Exploit ',中文 ' 利用 ',指利用系统漏洞进行攻击的动作。

CSRF(post)

先对比着看一下get和post的数据包区别:

get:

post:

可以看到:

GET请求参数是通过URL传递的,多个参数以&连接,POST请求放在request body中。

1.接着上面抓到的post数据包,生成csrf poc

2.copy html放到网站目录下

3.登录lili用户

初始用户信息

4.不退出用户,直接访问csrf poc

点击后发现用户信息已被修改

CSRF(token)

先抓包看看数据包有何不同

试试csrf能否实现

1.登录lili

原始用户信息

2.访问csrf poc

不能实现csrf,增加了token验证机制,无法绕过

总结:

CSRF广义上存在于任何增删改操作中,根据经验常见的有:

1)冒充身份:订阅/关注/转发/投票操作,删除文件,更改配置等

2)帐户接管:密码修改,邮箱绑定,第三方帐户关联

3)其他:登录/注册/注销/注册

4)安全设计原则:CSRF登录后令牌未更新、登出后未注销等

漏洞防御:

1) 验证header字段

常见的是Referer和Origin,Referer容易绕过,且会包含有一些敏感信息,可能会侵犯用户的隐私,而Origin字段代表最初请求,更建议使用。

2) Token令牌机制

当前最成熟的防御机制,但若存在验证逻辑及配置问题则存在绕过风险。Token的生成机制通常和session标识符挂钩,将用户的token与session标识符在服务端进行匹配。当下已经有很多开源库和中间件都可以实现token生成。

3) 验证自定义header

如基于cookie的csrf保护,验证cookie中的某些值和参数必须相等

来源:freebuf

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
跨站请求伪造(CSRF)挖掘技巧及实战案例全汇总
Cross-Site Request Forgery跨站请求伪造漏洞,简称CSRF或XSRF,强制最终用户在当前对其进行身份验证的Web应用程序上执行不需要的操作,浏览器的安全策略是允许当前页面发送到任何地址的请求,所以用户在浏览无法控制的资源时,攻击者可以控制页面的内容来控制浏览器发送它精心构造的请求。
Jayway
2019/09/29
9.5K0
跨站请求伪造(CSRF)挖掘技巧及实战案例全汇总
【Pikachu】CSRF(跨站请求伪造)
1.www.xxx.com这个网站在用户修改个人的信息时没有过多的校验,导致这个请求容易被伪造; --因此,我们判断一个网站是否存在CSRF漏洞,其实就是判断其对关键信息(比如密码等敏感信息)的操作(增删改)是否容易被伪造。 2.小白点击了小黑发给的链接,并且这个时候小白刚好登录在购物网上; --如果小白安全意识高,不点击不明链接,则攻击不会成功,又或者即使小白点击了链接,但小白此时并没有登录购物网站,也不会成功。 --因此,要成功实施一次CSRF攻击,需要“天时,地利,人和”的条件。
菜菜有点菜
2022/03/17
6080
【Pikachu】CSRF(跨站请求伪造)
CSRF攻击原理介绍和利用
注意:本文分享给安全从业人员,网站开发人员和运维人员在日常工作中使用和防范恶意攻击,请勿恶意使用下面描述技术进行非法操作。
全栈工程师修炼指南
2020/10/23
4.6K0
CSRF攻击原理介绍和利用
Pikachu漏洞靶场系列之CSRF
Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也被称为one click攻击。
Naraku
2021/07/29
1.9K0
Pikachu漏洞靶场系列之CSRF
Web Security 之 CSRF
在本节中,我们将解释什么是跨站请求伪造,并描述一些常见的 CSRF 漏洞示例,同时说明如何防御 CSRF 攻击。
凌虚
2021/03/19
2.3K0
Web Security 之 CSRF
PortSwigger之身份验证+CSRF笔记
https://portswigger.net/web-security/all-labs#authentication
FB客服
2021/09/16
3.6K0
一文深入了解CSRF漏洞
**跨站请求伪造**(英语:Cross-site request forgery),也被称为 **one-click attack** 或者 **session riding**,通常缩写为 **CSRF** 或者 **XSRF**, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨站脚本(XSS)相比,**XSS** 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
用户1709153
2023/05/08
1.3K1
小白必学篇:CSRF漏洞总结
跨站请求伪造,也称XSRF,本质是攻击者盗用了我的身份去发送恶意请求。这里区分一下XSS,以免概念混淆。CSRF是借助用户的权限完成攻击,攻击者从头到尾没有拿到用户的权限,然后就可以在受害者不知情的情况下执行了恶意操作;而XSS是直接盗取了用户的Cookie,从而登录到用户的后台修改相关信息。(CSRF和XSS的区别)
Power7089
2020/07/27
2.2K0
小白必学篇:CSRF漏洞总结
CSRF 攻击详解
CSRF(Cross-Site Request Forgery)的全称是“跨站请求伪造”,也被称为“One Click Attack”或者“Session Riding”,通常缩写为CSRF或者XSRF。
Vincent-yuan
2022/05/06
3.1K0
CSRF 攻击详解
XSS 和 CSRF 攻击
web安全中有很多种攻击手段,除了SQL注入外,比较常见的还有 XSS 和 CSRF等
书童小二
2018/09/03
1.1K0
实战 | 从零学习CSRF漏洞并配合实战挖掘CSRF漏洞
跨站请求伪造(英语:Cross-siterequest forgery),也被称为one-clickattack或者session riding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
Power7089
2019/07/25
1.8K0
实战 | 从零学习CSRF漏洞并配合实战挖掘CSRF漏洞
逆天了,你知道什么是CSRF 攻击吗?如何防范?
跨站点请求伪造 (CSRF) 攻击允许攻击者伪造请求并将其作为登录用户提交到 Web 应用程序,CSRF 利用 HTML 元素通过请求发送环境凭据(如 cookie)这一事实,甚至是跨域的。
网络技术联盟站
2023/03/13
2.1K0
逆天了,你知道什么是CSRF 攻击吗?如何防范?
渗透测试服务 针对CSRF漏洞检测与代码防御办法
XSS跨站以及CSRF攻击,在目前的渗透测试,以及网站漏洞检测中 ,经常的被爆出有高危漏洞,我们SINE安全公司在对客户网站进行渗透测试时,也常有的发现客户网站以及APP存在以上的漏洞,其实CSRF以及XSS跨站很容易被发现以及利用,在收集客户网站域名,以及其他信息的时候,大体的注意一些请求操作,前端输入,get,post请求中,可否插入csrf代码,以及XSS代码。
技术分享达人
2019/09/06
6240
渗透测试服务 针对CSRF漏洞检测与代码防御办法
【网络安全】「靶场练习」(三)跨站请求伪造攻击 CSRF
理由:文章详细讲解了如何在 Swift 中使用快慢指针技巧实现这一功能,同时对算法的时间与空间复杂度进行了深入分析。从代码实现到逻辑剖析,再到测试案例解析,每个环节都清晰易懂,帮助读者全面掌握这一经典算法。
sidiot
2024/11/24
3680
安全|常见的Web攻击手段之CSRF攻击
对于常规的Web攻击手段,如XSS、CRSF、SQL注入、(常规的不包括文件上传漏洞、DDoS攻击)等,防范措施相对来说比较容易,对症下药即可,比如XSS的防范需要转义掉输入的尖括号,防止CRSF攻击需要将cookie设置为httponly,以及增加session相关的Hash token码 ,SQL注入的防范需要将分号等字符转义,等等做起来虽然筒单,但却容易被忽视,更多的是需要从开发流程上来予以保障(这句话是给技术管理者的建议),以免因人为的疏忽而造成损失。 一、CSRF介绍 CSRF攻击的全称是跨站请求
黄小怪
2018/05/21
2.1K0
CSRF攻击与防御
CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
HACK学习
2019/08/07
1.1K0
CSRF攻击与防御
一文了解CSRF漏洞
成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个网站,都会默认你已经登录的状态 而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户不想做的功能
红客突击队
2022/09/29
1K0
一文了解CSRF漏洞
前端安全问题之-CSRF攻击
CSRF(Cross Site Request Forgery),中文是跨站点请求伪造。CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。 例子可见 CSRF攻击的本质原因 CSRF攻击是源于Web的隐式身份验证机制!Web的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的。 CSRF攻击的一般是由服务端解决。 CSRF工具的防御手段 尽量使用POST,
游魂
2018/06/08
1.3K0
Web漏洞 | CSRF(跨站请求伪造漏洞)
(2)在请求地址中添加 token 并验证(Anti-CSRF token)
谢公子
2022/01/13
8020
Web漏洞 | CSRF(跨站请求伪造漏洞)
渗透测试面试题
渗透测试是一种评估计算机系统、网络或应用程序的安全性的方法。它是通过模拟攻击来测试一个系统的安全性,以找出系统中的弱点和漏洞,然后提供解决方案以修复这些问题。渗透测试通常包括应用程序性能和中间件(中间层)的安全、身份验证机制的测试、密码策略、网络设施,以及社交工程等各个方面。渗透测试常用于检测和评估企业的网络安全和安全风险,以便于决策者了解各项目前的安全问题并做出相应的决策和改进措施。
wangmcn
2023/08/25
3790
渗透测试面试题
相关推荐
跨站请求伪造(CSRF)挖掘技巧及实战案例全汇总
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档