DVWA的使用2–CSRF(跨站请求伪造)

DVWA的使用2–CSRF(跨站请求伪造)

CSRF(Cross-site request forgery)跨站请求伪造,迫使用户在通过验证后在web应用中执行不必要的操作,通过伪装来自受信任用户的请求来利用受信任的网站。

1).low级别

源码:
这里写图片描述
通过对源代码进行分析,我们可以看到源代码中只对两次输入的密码是否相同进行了判断,其他操作都没有进行防御,所以我们只需要用户在cookie还有效的时间内在相同的浏览器访问我们给定的url(该操作是服务器对请求的发送者进行了身份验证,检查cookie),就可以实现CSRF攻击,修改用户密码。
漏洞利用:
在空白的浏览器地址栏中输入:
http://localhost/dvma/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#打开可以看到窗口提示密码修改成功,如下图所示。
这里写图片描述

2).medium级别

源码:
这里写图片描述
通过对源代码进行分析,我们可以知道Medium端主要的防御措施是通过检查 HTTP_REFERER(http包头的Referer参数的值,表示来源地址)中是否包含SERVER_NAME(http包头的Host参数,及要访问的主机名,),希望通过这种机制抵御CSRF攻击。
漏洞利用:
我们想要通过验证,就必须保证在http请求中Referer字段中必须包含Host,所以我们只需要把我们的文件名改成他的Host的name就可以完美的通过验证。
构造攻击页面放在服务器里,访问这个页面
这里写图片描述
这里写图片描述
密码修改成功,使用admin/123456成功登陆。

3).high级别

源码:
这里写图片描述
该模块中加入了Anti-CSRF token来防范CSRF攻击,同时每次随机生成了一个token,当用户提交的时候,在服务器端比对一下token值是否正确,不正确就丢弃掉,正确就验证通过。
漏洞利用:
通过XSS漏洞获取浏览器cookie,向输入框中输入任意你想要修改的密码,通过brupsuite进行拦截,获取数据包,把数据包发送到Repeater模块,把cookie直接粘贴到这个数据包中,通过brupSuite对数据包进行修改密码。
这里写图片描述
这里写图片描述

4). Impossible级别

源码:
这里写图片描述
其中添加了输入原密码操作,在不知道原密码的情况下是不能修改密码的,有效防止了csrf攻击。

更多dvwa的使用及漏洞利用:https://blog.csdn.net/zjw0411/article/category/7542496

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值