CSRF漏洞概述
Cross-site request forgery简称为“CSRF”,跨站请求伪造
在CSRF的攻击场景中攻击者会伪造一个请求
(这个请求一般是一个链接)
然后欺骗目标用户进行攻击,用户一旦点击了这个请求
整个攻击也就完成了
所以CSRF攻击也被称为“one click”攻击
为什么会出现CSRF漏洞
一方面,用户安全意识不足,访问不知名的url
另一方面,web没有做到准确的合法用户验证
CSRF与XSS的区别:
CSRF攻击者并没有拿到用户的权限,是借用户的权限完成攻击;而XSS可以通过盗取cookie来获取用户权限来完成破坏
如何确认一个web系统存在CSRF漏洞
-
对目标网站增删改的地方进行标记,并观察其逻辑,判断请求是否可以被伪造
例如修改管理员账号时,不需要验证旧密码,导致请求容易被伪造;对于敏感信息的修改并没有使用安全的token验证,导致请求容易被伪造 -
确认凭证的有效期
虽然退出或关闭了浏览器,但cookie仍然有效,或者session并没有过期,导致CSRF攻击变得简单
CSRF实验
CSRF(GET)
输入账号密码登录
登录成功后显示详细信息
在提交修改个人信息的时候,可以抓包,看到下面的内容
复制出信息:
GET /pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=beijing&email=lucy%40pikachu.com&submit=submit HTTP/1.1
可以修改参数,修改了电话号码与地址
例如:
GET /pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=