DVWA CSRF 通关解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: DVWA CSRF 通关解析

前言

DVWA代表Damn Vulnerable Web Application,是一个用于学习和练习Web应用程序的开源应用程序。它被设计成一个易于安装和配置的应用程序,旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序。

DVWA提供了一系列的场景和练习环境,用户可以通过攻击这些漏洞场景来学习和实践漏洞利用技术。这些包括常见的安全问题,如SQL注入、跨站脚本(XSS)、文件包含等。通过这些,用户可以了解的原理、影响和防御方法。


DVWA提供了不同的安全级别,从低到高,以满足不同技能水平的用户需求。用户可以根据自己的能力选择适当的安全级别,并进行相应的练习和挑战。


DVWA还提供了一些额外的功能和工具,如Web代理、密码破解、弱密码检测等,以帮助用户更好地理解和处理问题。


总之,DVWA是一个用于学习和练习Web应用程序开源应用程序。它提供了一系列的场景和练习环境,帮助安全专业人员和爱好者提高对Web应用程序安全的理解和实践能力。通过使用DVWA,用户可以加深对Web应用程序漏洞的认识,并学习如何有效地保护Web应用程序免受。

介绍

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种常见的Web应用程序安全,它允许在用户不知情的情况下以受害者的身份执行未经授权的操作。

CSRF攻击利用了Web应用程序对用户的信任。攻击者通过诱使用户访问恶意网站或点击恶意链接,使受害者在已登录的状态下访问目标网站。然后,攻击者利用受害者的身份在目标网站上执行恶意请求,例如转账、更改密码或删除数据。


以下是CSRF攻击的一般工作流程:


       1. 受害者登录:受害者在目标网站上进行登录,并获得有效的会话凭证。

       2. 构造恶意请求:攻击者在恶意网站上构造一个包含目标网站请求的恶意请求,例如转账请求。

       3. 诱使受害者访问恶意请求:攻击者通过各种手段诱使受害者访问恶意网站,例如通过发送钓鱼邮件、社交媒体诱导等。

       4. 自动执行恶意请求:由于受害者在目标网站上已经登录,浏览器会自动发送恶意请求,并在受害者不知情的情况下执行。

为了防止CSRF,可以采取以下一些防御措施:

       1. 随机令牌:在每个表单提交或敏感操作中,为用户生成一个随机的、单次使用的令牌(CSRF Token)。在提交请求时,验证令牌的有效性,确保请求来源于合法的用户会话。

       2. SameSite Cookie属性:使用SameSite Cookie属性来限制Cookie在跨站请求中的发送,可以阻止许多CSRF攻击。

       3. 验证来源(Referer)头:通过验证请求的Referer头,确保请求来自合法的来源网站。但需要注意,Referer头并不是100%可靠,因为某些浏览器或代理可能会修改或删除该头。

       4. 双重身份验证(2FA):为用户提供双重身份验证机制,例如短信验证码、身份验证应用程序等,以增加账户安全性。

       5. 安全编程实践:开发人员应该遵循安全编程实践,包括对用户输入进行验证和过滤、使用适当的授权和身份验证机制等。

需要注意的是,CSRF的影响范围取决于目标网站的功能和用户的权限。为了保护Web应用程序免受CSRF,开发人员和网站管理员应该了解和实施适当的防御措施。

一、Low

打开

将密码更改为 123456 后提交会发现 URL 上有其对应的参数

可以尝试复制 URL 链接然后修改参数重新在另一个网页打开

可以发现密码更改成功

可以在暴力破解模块登录验证

利用第三方网站生成短链接


站长之家

https://tool.chinaz.com/tools/dwz.aspx

发送链接给受害者诱导其点击即可

还可以使用 BurpSuite 专业版生成 CSRF PoC

二、Medium

受害者视角更改密码(没有问题)

再换个网页修改密码就不行了,会报错

打开 BurpSuite 发现缺少 Referer 头

补上 Referer 头后发送(要包含 Host 值,因为源码是用这个做的比较)

三、High

这一关多了 Token

抓包可以发现

只要 Token 能与服务器的匹配上就能更改成功


网上有教程说是利用 XSS 漏洞先弹窗弹出 Token 然后利用 Token 更改数据包发出去即可

具体博客链接

https://cloud.tencent.com/developer/article/1825357

另一种就是利用 BurpSuite 插件——CSRF Token Tracker

在 BurpSuite 中下载插件 CSRF Token Tracker

然后将包发送到重放模块(Repeater)

注意:同时开启跟随重定向

接着在 CSRF Token Tracker 模块中填写 Host 地址(可以参考数据包中的 Host 值)及 Token 的参数名称(也是参考数据包)然后勾选两个选项

接着就能一直修改密码了

相关文章
|
2月前
|
SQL 文字识别 安全
DVWA Insecure CAPTCHA 通关解析
DVWA Insecure CAPTCHA 通关解析
|
2月前
|
SQL 安全 PHP
DVWA File Inclusion 通关解析
DVWA File Inclusion 通关解析
|
2月前
|
存储 安全 Linux
OverTheWire Bandit 通关解析(上)
OverTheWire Bandit 通关解析(上)
|
2月前
|
SQL 安全 数据库
Python Web开发者必看!SQL注入、XSS、CSRF全面解析,守护你的网站安全!
【7月更文挑战第27天】在 Python Web 开发中, 安全至关重要。
46 0
|
2月前
|
存储 Shell Linux
OverTheWire Bandit 通关解析(下)
OverTheWire Bandit 通关解析(下)
|
2月前
|
安全 Linux Shell
OverTheWire Bandit 通关解析(中)
OverTheWire Bandit 通关解析(中)
|
22天前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件
|
1月前
|
存储 NoSQL Redis
redis 6源码解析之 object
redis 6源码解析之 object
55 6
|
7天前
|
存储 缓存 Java
什么是线程池?从底层源码入手,深度解析线程池的工作原理
本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
什么是线程池?从底层源码入手,深度解析线程池的工作原理
|
11天前
|
开发工具
Flutter-AnimatedWidget组件源码解析
Flutter-AnimatedWidget组件源码解析

推荐镜像

更多