DVWA之CSRF漏洞

本文详细介绍了DVWA中的CSRF漏洞,从Low到Impossible级别,阐述了CSRF攻击的原理、流程,并通过实例展示了如何利用和防御CSRF攻击。在Low级别,仅验证密码相同,易被攻击;Medium级别加入了Referer检查,但仍有绕过方法;High级别引入了user_token,但跨域限制了攻击;Impossible级别要求输入原密码,提供了更多安全保障。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSFR漏洞

CSRF简介

CSRF全名是Cross Site Request Forgery,翻译成中文就是跨站点请求伪造。其通过利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作。

漏洞原理

因为Web应用程序在用户进行敏感操作时,如修改账户密码、添加账户、转账等操作时,没有进行如检验表单Token、http请求头中的referer值等防御措施,从而导致恶意攻击者利用被攻击者的身份完成敏感操作。

CSRF攻击流程

攻击者发现CSRF漏洞——构造恶意代码——发送给受害人——受害人打开——受害人执行代码——完成攻击

 

本章利用工具:Firefox、Firefox的hackbar插件

 

Low级别

  • 登录DVWA平台选择Low级别和CSRF模块,页面上是一个很平常的密码修改页面,并且只要求输入新密码即可并未验证原密码。那么我们就先用正常用户的方式进行修改密码,比如这里我将密码改为123。

这里我们看见下面显示的Password Changed表示密码修改成功,同时我们通过HackBar分析此时的URL,发现在这段URL中我们输入的参数都包涵在了URL中,那么我们就猜想是不是可以直接通过修改URL的参数即可修改密码呢,然后我们就构造一个新的URL:

http://127.0.0.1/DVWA-1.9/vulnerabilities/csrf/

?password_new=12345
&password_conf=12345
&Change=Change#

并在该浏览器的一个新的界面打开这个URL,我们发现密码同样被修改了。

这里我们就实现了一次CSRF漏洞攻击,当然这里我们构造的URL就太明显了,因此我们可以将其包装一下。比如这里我们写一个CSRF.php文件,里面内容可以简单一点类似:

<img src="http://127.0.0.1/DVWA-1.9/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#"/>

然后我们将其放在PhpStudy的WWW目录下,接着我们在同一个浏览器打开127.0.0.1/CSRF.html,这时显示的是这样一个图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值