- LOW
服务器收到提交的新密码和确认密码之后,比较是否相同,相同则修改密码,没有任何防护机制。此处可以简单构造带有参数的链接诱导用户点击:
http://192.168.29.128/DVWA-master/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#
但是点击之后会出现修改成功页面,用户很容易发现密码已经被修改了。
攻击者还可以诱导用户访问特定页面,将链接隐藏在标签中的src属性中,并设置为不可见,如下面的例子:
- MEDIUM
Medium级别相比low级别增加了stripos函数的检查。stripos(string,find,start)查找find字符串在string字符串第一次出现的位置,不区分大小写;start表示开始查找的位置。若找到,返回开始位置;否则返回FALSE。在源码中,检查的是SERVER_NAME服务器名称是否在http referer值中,referer表示新页面是从该referer值代表的页面导航过去的。在这种情况下,只需将攻击页面命名为包含SERVER_NAME的名称,诱导用户访问就可以绕过防御。
编写带有SERVER_NAME 192.168.29.128的页面,开启攻击端kali web服务器,将页面放置在/var/www/html/ 下,用户访问该页面时就会受到攻击。