文章目录
- 一、CSRF概述
- 二、CSRF实战
- 2.1 CSRF(get)
- 2.2 CSRF之token
一、CSRF概述
Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。
SRF与XSS的区别:CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。
因此,网站如果要防止CSRF攻击,则需要对敏感信息的操作实施对应的安全措施,防止这些操作出现被伪造的情况,从而导致CSRF。比如:
- 对敏感信息的操作增加安全的token;
- 对敏感信息的操作增加安全的验证码;
- 对敏感信息的操作实施安全的逻辑流程,比如修改密码时,需要先校验旧密码等。
二、CSRF实战
2.1 CSRF(get)
(1)点一下提示,先登录上去。
(2)修改个人信息,通过抓包,可以看到URL中,不带任何不可预测的认证信息的。
(3)在vince登录状态下(其实这个链接里面是不包含用户名的,谁登录都无所谓,只要有人登录着就行,登录着的用户的信息就会被改成url提供的那些)。浏览器地址栏输入payload:192.168.92.1:32773/vul/csrf/csrfget/csrf_get_edit.php?sex=2&phonenum=2&add=2&email=2&submit=submit
2.2 CSRF之token
其中token的值每次请求都会发生变化,所以攻击者不能用自己的token对受害者进行攻击。
在一个浏览器上以lucy登录,到修改信息的页面,查看网页源代码获取token,再到另一个浏览器以lili登录,构造payload包含此token也是无法攻击成功的。