Csrf漏洞概述及其原理

一.Csrf漏洞的概述
1.CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
2.CSRF是一种依赖web浏览器的、被混淆过的代理人攻击(deputy attack)。在上面银行示例中的代理人是Bob的web浏览器,它被混淆后误将Bob的授权直接交给了Alice使用
3.下面是CSRF的常见特性:
(1)依靠用户标识危害网站
(2)利用网站对用户标识的信任
(3)欺骗用户的浏览器发送HTTP请求给目标站点
(4)另外可以通过IMG标签会触发一个GET请求,可以利用它来实现CSRF攻击。
在这里插入图片描述
在这里插入图片描述
如何确认一个web系统存在Csrf漏洞
1.对目标网站增删改的地方进行标记,并观察其逻辑,判断请求是否可以被伪造,比如修改管理员账号时,并不需要验证旧密码,导致请求容易被伪造;v比如对于敏感信息的修改并没有使用安全的token验证,导致请求容易被伪造。
2.确认凭证的有效期(这个问题会提高CSRF利用的概率)
虽然退出或者关闭了浏览器,但cookie仍然有效,或者session并没有及时过期,导致CSRF攻击变的简单

二.Csrf漏洞测试流程
1.Csrf实验get演示
打开pikachu点击Csrf
输入用户名和密码,点击右上角的提交
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### CSRF漏洞的理解与实践 #### DVWA中的CSRF漏洞实验室介绍 Damn Vulnerable Web Application (DVWA) 是一款用于安全研究和教育目的的Web应用程序,旨在帮助用户了解各种常见的Web应用安全漏洞及其修复方法[^2]。 #### 实验环境准备 为了在DVWA中进行CSRF攻击的学习,需先设置好实验环境: 1. 安装并启动DVWA服务; 2. 登录到DVWA界面,默认用户名密码均为`admin`; 3. 将DVWA的安全级别调整至最低(通常为Low),以便于观察和理解漏洞行为。 #### CSRF漏洞原理概述 跨站请求伪造(Cross-Site Request Forgery, CSRF),是指攻击者通过伪装成合法用户的HTTP请求,在未经受害者同意的情况下执行某些操作。这种类型的攻击依赖于浏览器会话管理机制以及目标网站对于身份验证方式的设计缺陷。 #### 进行CSRF攻击模拟 假设存在一个更改用户邮箱地址的功能页面 `/vulnerabilities/csrf/[email protected]&Change=Submit` ,当访问该链接时可以直接修改当前登录账户关联的电子邮箱信息而无需额外确认。此时可以通过构造恶意网页诱导已认证状态下的其他访客点击此链接来完成一次简单的CSRF攻击演示。 ```html <!-- Malicious HTML --> <html> <body onload="document.getElementById('csrf').submit()"> <form id="csrf" action="http://your-dvwa-ip/vulnerabilities/csrf/" method="GET"> <input type="hidden" name="email" value="[email protected]"/> <input type="hidden" name="Change" value="Submit"/> </form> </body> </html> ``` 上述HTML代码会在加载完成后立即提交表单给指定URL路径,从而实现自动化触发CSRF攻击的效果。需要注意的是实际环境中还需考虑更多因素如Referer头校验、Token验证等措施防止此类攻击成功实施。 #### 防御策略探讨 针对CSRF防护的有效手段主要包括但不限于以下几个方面: - **引入Anti-CSRF Token**:服务器端生成唯一随机字符串作为令牌附加到每次敏感操作请求之中,并要求客户端返回相同值以证明其合法性。 - **SameSite Cookie属性配置**:通过对Cookie设置特定参数限制第三方站点无法发送携带这些凭证的数据包到达原域名下资源位置处。 - **双重Cookie保护模式**:除了常规的身份验证外还增加一层基于cookie存储的状态检查逻辑确保发起动作确实来自预期来源而非被劫持后的间接调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值