前言
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 的参数名称(也是参考数据包)然后勾选两个选项
接着就能一直修改密码了