【CSRF实践】DVWA靶场之CSRF实践

发布于:2025-03-05 ⋅ 阅读:(146) ⋅ 点赞:(0)

CSRF介绍

CSRF(Cross-site request forgery),中文名叫做“跨站请求伪造”,也被称作“one click attack/session riding”,缩写为“CSRF/XSRF”。在场景中,攻击者会伪造一个请求(通常是一个链接),然后欺骗目标用户点击,一但用户点击,攻击也就完成了。

  • 同“XSS”的区别在于,CSRF是借助用户权限完成攻击,攻击者并没有拿到权限;而XSS是直接盗取用户甚至管理员的权限进行攻击,从而造成破坏
  • CSRF攻击可以利用用户已经登录或已经授权的状态,伪造合法用户发出请求给受信的网点,从而实现在未授权的情况下执行一些特权操作。

二、DVWA靶场之CSRF介绍

首先熟悉这两个功能的用处:
(1)Test Credentials:测试你使用账号密码能否登录现在的系统
(2)Change Password:可以修改当前系统的密码
在这里插入图片描述

三、DVWA靶场之CSRF实践

  1. 思考:
  • 作为攻击者:我如何让用户点击一个陌生链接后,使得用户的密码被修改。
  • 首先,我需要分析目标网站的密码修改请求的 URL 结构。这可以通过 Burp Suite 抓取自己的修改密码请求来分析。
  • 一旦确认 URL 结构后,攻击者可以构造一个伪造请求,并引导用户点击,从而利用用户的已登录状态执行恶意请求,例如,修改用户密码。
  • 注意:直接抓取得到的链接过于明显,用户不会轻易点击,因此需要进行伪装。因此可以通过变为短链接形式或者包装为1.html形式来修改。
  1. 实践步骤如下:

(1)用户在登录状态下,进行修改密码操作,输入密码:123456,点击change,显示密码已修改。进入验证界面,确认密码修改成功。当前系统密码为123456。获得用户修改密码链接为:http://192.168.81.130/DVWA/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#

(2)将链接包装为1.html形式来修改用户密码,以下为1.html的代码。将1.html文件部署在自己服务器上。

<img src="http://192.168.81.130/DVWA/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change#" border="0" style="display:none;"/>

<h1>404<h1>

<h2>file not found.<h2>

在这里插入图片描述
(3)访问1.html,刷新后密码被修改。

四、进阶(Medium)

这里Medium级别的代码增加了referer的判断。这里的意思HTTP_REFERER和SERVER_NAME如果不是来自同一个域环境的话就无法进行到内部的循环,以及修改密码操作。

在这里插入图片描述

接下来我们开始尝试攻击,根据上面的代码分析,我们可以知道referer中只要出现HOST就行,所以在恶意网站中这样操作就可以:

(1)将上面1.html重新用IP地址命名,改为:192.168.81.130.html。然后放入文件服务器的/var/www/html中。

(2)然后我们打开burp suite,对CSRF界面进行抓包,然后发送至Repeater模块

(3)在Repeater模块,抓包流量的Referer地址改为192.168.81.130.html的网页地址,地址为:http://192.168.21.30/192.168.81.130.html

(4)点击“Send”我们可以看见返回“Password Changed.”,证明修改成功,攻击成功。

五、High

(1)这次在Medium的基础上有了token值,所以我们需要在攻击者的服务器上获取被攻击者的token值。

  • CSRF攻击的本质是重要操作的所有参数,都可以被攻击者猜测到,所以token值是必须的。观察以下源码,这里是添加了Anti-CSRF token机制,用户每次到改密页面的时候,服务器会返回一个随机token,向服务器发起请求需要提交token参数,而在服务器收到请求的时候,会优先检查token,只有token正确才会处理客户端请求。

在这里插入图片描述

(2)在观察得到以上的信息后,可以利用XSS,先用XSS执行代码获取token。<script>alert(document.cookie)</script>。得到token信息后,使用该token进行medium步骤即可。

五、参考链接

  1. 参考链接

网站公告

今日签到

点亮在社区的每一天
去签到