DVWA学SQL注入&CSRF

简介

在本文中,您将学习跨站点请求伪造攻击。对于CSRF教程,我并尝试针对DVWA绕过低安全级别。

跨站点请求伪造,也称为one-click attack 或 session riding,缩写为CSRF(有时被称为sea-surf)或XSRF,是一种恶意利用网站session 的攻击方式,通过用户发送未授权的命令,利用网站信任完成。与跨站点脚本(XSS)不同,后者利用用户对特定站点的信任,CSRF利用站点在用户浏览器中的信任。
攻击者伪造虚假的凭证利用受害者浏览器的信任提交请求登录到目标网站; 这被称为登录CSRF。登录CSRF可以进行各种新型攻击; 例如,攻击者可以使用其合法凭证登录该站点并查看私人信息。

环境搭建:

这边我们使用Docker环境来搭建Dvwa环境:

https://hub.docker.com/r/citizenstig/dvwa/

使用如下指令拉取镜像:

https://hub.docker.com/r/citizenstig/dvwa/
运行
docker run -d -p 80:80 citizenstig/dvwa

默认登录 :

  passsword  && username  ==》 将安全等级调低级

  DVWA学SQL注入&CSRF_第1张图片

 

然后这边选择sql注入:  SQL Injection  输入'   报错如下(即说明可以注入):

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1

注入语句如下:

DVWA学SQL注入&CSRF_第2张图片

这边自己写了一个程序用于注入: 只需要输入远程ip 和 session中phpsessionid即可;

DVWA学SQL注入&CSRF_第3张图片

 

Let’s start CSRF!!!

以下内容来自:MottoIN博客

默认情况下,DVWA的凭据设置为admin:password。如下图你可以看到我正在使用这组帐号密码登录DVWA

 

DVWA学SQL注入&CSRF_第4张图片

现在将安全级别设置为低,并选择CSRF为当前漏洞。下图将看到为用户admin更改密码时提供的页面。

 

DVWA学SQL注入&CSRF_第5张图片

现在打开查看源码页面并复制突出显示的文本。

 

DVWA学SQL注入&CSRF_第6张图片

然后将上面复制的HTML代码粘贴到文本文件中。如果你学过HTML,那么将非常容易理解在记事本内的以下代码片段,它将创建一个表单来重置密码。现在将文件另存为csrf.html。

 

DVWA学SQL注入&CSRF_第7张图片

现在,当您打开csrf.html文件时,应该是与下图一致,包含密码的输入框和提交按钮。

 

DVWA学SQL注入&CSRF_第8张图片

现在再次用记事本打开csrf.html,编辑新密码和确认密码文本字段内的值。在下面的截图中,你可以看到我已经添加了value ="hacker"作为新密码和确认密码的默认值。然后再次保存到csrf.html

 

DVWA学SQL注入&CSRF_第9张图片

现在,当你再次打开CSRF.html文件,你会发现原本空白的输入框已经被输入密码

 

DVWA学SQL注入&CSRF_第10张图片

现在点击提交按钮,网页被重置,同时URL地址栏将发送修改密码的GET请求

 

DVWA学SQL注入&CSRF_第11张图片

这篇文章主要讲在DVWA中绕过低安全性有关的问题,因此我们只需要在html表单中添加目标地址,以使CSRF攻击在未经管理员许可的情况下更改管理员密码。

复制下图部分URL

 

DVWA学SQL注入&CSRF_第12张图片

再次用记事本打开csrf.html,并用上面复制的URL替换文档中action的#,这将直接更改管理员用户在目标网站中的密码。

 

DVWA学SQL注入&CSRF_第13张图片

在这里,您可以看到完整html表单的代码,它可以更改DVWA中的admin的密码,而无需管理员的参与。现在使用社工或钓鱼技术将这个crsf.html文件发送给受害者,以便利用CSRF更改受害者的账号密码。

 

DVWA学SQL注入&CSRF_第14张图片

当受害者将打开csrf.html文件,然后单击更改按钮,将更改DVWA内的管理员密码

 

DVWA学SQL注入&CSRF_第15张图片

从屏幕截图您可以看到从没有管理员权限,到已经成功更改管理员密码并登陆成果。

 

DVWA学SQL注入&CSRF_第16张图片

现在让我们验证测试结果,因为我们知道以前的凭据是admin:password ; 这里当我继续尝试默认密码显示登录失败。

 

DVWA学SQL注入&CSRF_第17张图片

然后我尝试用admin:hacker来登陆,提示成功登录DVWA。至此,我们利用了DVWA低安全模式下的CSRF漏洞。

 

DVWA学SQL注入&CSRF_第18张图片

参考:en.wikipedia.org/wiki/Cross-site_request_forgery

你可能感兴趣的:(渗透&APT)