首页 > 其他分享 >DVWA靶场之CSRF通关详解

DVWA靶场之CSRF通关详解

时间:2023-06-23 12:22:40浏览次数:44  
标签:请求 验证 网站 DVWA 密码 token CSRF 靶场

原理

CSRF漏洞是指利用受害者尚未失效的身份认证信息( cookie、会话等信息),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下,以受害者的身份向服务器发送请求,从而完成非法操作(如转账、改密、信息修改等操作)。

形成原因

CSRF的形成原因主要是由于Web应用程序没有充分验证请求来源的问题。正常的请求必须携带正确的Cookie信息,而攻击者可以构造一个恶意网站,在其中包含一个发送CSRF请求的链接或表单,当用户访问这个网站时,浏览器会自动发送CSRF请求到被攻击的网站,从而实现攻击。

防御措施

  • 随机令牌:在表单中增加一个随机生成的令牌(token),每次提交表单时都需要提交该令牌,服务器验证令牌是否正确,从而保证请求来源的合法性。
  • Referer验证:通过检查HTTP头部中的Referer字段,判断请求来源是否合法。但是该方法并非绝对可靠,因为发送请求时可能会篡改Referer字段。
  • Cookie:设置cookie的SameSite属性,值为Strict或Lax,可以限制第三方网站访问该cookie,从而避免其他网站利用cookie发起CSRF攻击。
  • 双重认证:采用双重认证机制,例如使用短信验证码、Google Authenticator等方式,增强用户身份验证,防止受到CSRF攻击。
  • 请求验证:在服务器端对所有请求进行验证,判断请求是否合法,例如判断请求头是否包含特定的自定义HTTP头字段,或者验证请求参数是否合法等。

突破方式

  • Session劫持:攻击者通过某些手段获取用户的Session ID,然后模拟用户的身份访问服务器,从而完成攻击。
  • 跨域POST:攻击者以受害者身份向其他网站发起POST请求,通过头部设置绕过同源策略(Same-Origin Policy),达到攻击目的。
  • Clickjacking:攻击者在一个网站上通过iframe嵌套形式,覆盖另一个网站的操作界面,使用户执行不知情的行为。
  • XSS攻击:攻击者将恶意脚本注入到目标网站或者通过链接传递给受害者,当受害者访问包含恶意脚本的网页时,攻击者就可以利用受害者的权限发送恶意请求,完成攻击。

【Low】级别

在csrf的界面,点击Test credentials,输入默认的账号和密码(admin,password),点击登录,提示密码有效。

修改密码界面输入新的密码,再使用工具burpsuit抓包,抓到包后,点击右键,选择Engagement tools,点击CSRF Poc,最后会生成一段payload。

复制这段html代码,把它单独存下来,再将这个html文件的两个密码都改成123456,并在浏览器里面打开。

点击submit request后会跳转回dvwa,这时再次验证原来的密码,会发现密码已经失效。

输入更改后的密码(123456),验证成功,证明crsf修改了用户密码。

【Medium】级别

这里查看源码,与刚刚的low等级比较发现,这里只有一个等级发生了改变,即在传入密码和确认密码参数前先进行了一个if语句的判断,判断里面的内容主要是验证这个访问请求是否从dvwa网站本身发起的,如果不是这个网站发起的请求,后面的操作就不执行。

源码是通过referrer这个字段的参数进行判断的,通常情况下在增加referrer验证时就是网站本省当前页面的ip地址,这里需要抓包看看相关信息。

首先,修改密码为10086(这里密码没有要求,随便设置一个),修改密码成功,这里的网站如下图url栏中所示。

将刚刚url栏中的网址复制到一个新的网页打开,发现change下面有提示,大致意思就是请求的来源不正确。

利用工具burpsuit抓包分析有:

对于最开始更改密码成功的页面抓包,可以看到有referer信息。

那解决办法就将刚刚页面没有问题的referer信息复制到第二个页面中,再返回给浏览器响应,可以看到密码已经更改成功。

【High】级别

首先查看源码,发现该级别加入了token机制,当用户访问修改密码页面修改时,服务器会返回一个随机的token,向服务器发送请求时,需要提交token,服务器接收请求时会先检查token,只有token正确,才会去处理响应请求。

利用burpsuit工具抓包可以看到主机名和token值。

通过存储型的XSS获得token,这里name长度限制抓包解决,然后将name值设为<iframe src="../csrf" onl oad=alert(frames[0].document.getElementsByName('user_token')[0].value)>,forword,然后网页中就得到了一个没有使用过的token值。

然后回到csrf界面,修改密码,将url栏中的token值改为刚刚得到的新token值。即把:

http://www.dvwa.com/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change&user_token=7732854e8c3912dd284538ed7533fe51#

改为:

http://www.dvwa.com/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change&user_token=3914162e7106cc2b9dc4905883a2b636#

然后修改密码成功。

然后去登录验证,修改密码成功。

 

标签:请求,验证,网站,DVWA,密码,token,CSRF,靶场
From: https://www.cnblogs.com/yeahh/p/17498967.html

相关文章

  • DVWA靶场之XSS通关详解
    原理XSS漏洞是攻击者将恶意代码注入到合法网页中,当用户浏览该页面时,恶意代码会被执行,从而获取用户敏感信息或进行其他攻击。形成原因网站对用户输入数据的过滤不严格或不完备,攻击者可以根据这个漏洞向网站提交恶意代码,然后再将这些代码传播给其他用户,从而造成危害。防御措施......
  • DVWA-环境搭建
    前言在学习web安全的过程中,靶场是必不可少的,毕竟在计算机界,任何理论知识都不如实操同时也不可能提供真实企业环境去练习,这个时候靶场就起到极其重要的作用。靶场就是人为提供的带有安全漏洞的服务,每一个学习者都可以在本地快速搭建来实操,回溯漏洞的发生原理以及操作方式。DVWA靶......
  • vulnhub靶场:matrix-breakout-2-morpheus
    这个靶场的链接不小心给关闭了,所以只能自己去搜了,好像这个靶场需要用virtualbox,但是我的好像有问题,所以用VMware了,这是我打开后的样子我的kali的ip:192.168.13.129对靶场进项扫描nmap-sP65535192.168.13.0/24稍微判断下,锁定在147和254然后扫描它,发现147是靶场的ip  ......
  • [纵横网络靶场社区]隐信道数据安全分析
    附件flag-woody.mp3是一首歌,mp3格式,听了一下,Audacity打开看了一下没发现什么异常;mp3隐写试了一下也没什么线索。回到题目名称和描述。信道隐写,某种private的方式将信息传递出去。使用010Editor打开,分析文件结构。可以发现在每个MPEG_FRAMEmf下的4字节MPEG_HEADERmpeg_hdr中的......
  • [纵横网络靶场社区]工控安全取证
    使用file命令查看capture.log,发现是pcap文件,修改后缀为.pcap根据题目描述可以理解为两种意思:一个IP的第四次扫描第四个IP的第一次扫描分析流量包,发现了192.168.0.9、192.168.0.199、192.168.0.1、192.168.0.254共四个,流量包前面大部分都是192.168.0.9在进行SYN扫描192.168.0.99。......
  • [纵横网络靶场社区]奇怪的文件
    part1、part2、part3很明显是zip文件的压缩源文件数据区、压缩源文件目录区、压缩源文件目录结束标志三个文件都补全504B两个字节,然后依次把part2、part3补全到part1文件中;修改part1文件名为part1.zip使用010Editor打开,分析文件结构发现压缩源文件数据区的CRC字段为空、压缩源......
  • [纵横网络靶场社区]Modbus协议
    下载附件进行流量分析,查看Modbus协议,点击长度排序,发现一个长度比较突出的包包末尾写的就是flag的内容flag{TheModbusProtocolIsFunny!}......
  • Kali Linux 下搭建ctfd靶场(报错解决)
    准备环境:获取一台运行Linux的服务器或虚拟机,确保具备足够的计算资源和网络连接。安装所需的软件和依赖项,如Python、pip等。安装CTFd:打开终端并使用以下命令克隆CTFd的GitHub存储库gitclonehttps://github.com/CTFd/CTFd.git进入克隆的CTFd目录:cdCTFd......
  • [网络安全] DVWA之 Command Injection 攻击姿势及解题详析合集
    CommandInjection命令注入(CommandInjection)是一种安全漏洞,发生在应用程序使用用户提供的输入作为系统命令的一部分而未经充分验证和过滤的情况下。当应用程序在构造系统命令时,如果没有对用户输入进行适当的验证和过滤,攻击者可以通过在用户输入中插入恶意命令来执行任意系统命......
  • [网络安全] DVWA之CSRF攻击姿势及解题详析合集
    CSRFCSRF(Cross-SiteRequestForgery,跨站请求伪造)是一种常见的Web应用程序安全漏洞,它利用了用户在已认证的网站中的身份,通过欺骗用户发起非预期的请求。攻击者会构造一个恶意网页,使用户在浏览器中访问该网页时,自动向目标网站发送了未经用户授权的请求。CSRF攻击的原理是利用了W......