目录
一、CSRF(跨站请求伪造)
含义:利用用户在浏览网站的cookie不会过期,在用户不登出浏览器或者退出情况下,进行攻击,简单来说就是你点开攻击者构建好的链接,就运行了一些用户不想做的指令或者功能。比如:修改账号密码等。在在在简单来说就是用户访问A网站,生成cookie,在不登出的情况下,访问危险网站b,造成一些非用户本身想执行的一些操作
另类的CSRF有:JSON和CORS
LOW
我们将密码改为123456(下面的图我又将密码改成admin,不影响)
f12 观察URL地址,发现是GET请求,可以看到这里只进行了$pass_new == $pass_conf判断,还有一个防sql注入函数的过滤,没有进行任何的验证。我们用burp抓取信息
获取到get和host信息
输入账号密码为admin和admin
显示密码已经修改成功
构造Paload
可以新建一个txt文本来复制你刚才的URL地址 ,记得将密码改成其他的
(img src跳转必须在get请求下csrf才可以发生)
http://dvwa-master:8080/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#
访问新的连接将代码复制上去,将密码改成123456
当我们打开这个网页的时候,我们的密码就已经被修改了,我们回到dvwa暴力破解哪里查看我们的密码是否修改
输入admin 123456密码正确
Medium
获取到请求信息,发现有referer这个字段参数判断,referer验证时就是网站本身当前页面的ip地址
我们通过Referer参数值,了解到他是根据主机用户来判断是否能够进行访问的,如果参数值不一样,访问的方式也是不一样的
破解它就要用到这个源地址,要包含主机名(自己电脑的主机IP地址),构建html复制下面代码,命名为自己主机的IP地址名字
<a href = "http://dvwa-master:8080/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#" border="0" style="dispaly:none;">更改密码</a>
我们将密码改成password
通过burp可以看到,我们用192.167.171.140.html文本请求,得到的响应式Password Changed(密码改变了)
我们访问192.167.171.140.html,就可以看到密码被修改了
输入账号/密码 admin/password
High
高级增加了token值,我们需要获取token值,利用burp里的CSRF Token Tracker绕过token验证插件
获取主机名和token值
添加信息
因为每次发送都会随机token值
密码成功修改了