CSRF漏洞

CSRF漏洞

1. 漏洞介绍

1. 什么是CSRF漏洞

全名是 Cross Site Request Forgery跨站请求伪造。通利用受害者还未失效的身份认证信息,诱骗其点击恶意的连接或访问受害者不知情的网站,在受害者不知情的情况下完成请求,从而达到一个攻击的目的。因为受害者点击之后就会触发恶意的代码完成恶意的请求,“one click”攻击。

跨站------通过A网站去访问B网站
请求------访问网站的过程就是请求
身份认证信息-----COOKIE与session
	含有身份认证信息的字符串

2. 漏洞原理

Web应用程序在用户进行敏感操作时,如修改账户密码、添加账户、转账等操作时,没有进行如检验表单Token、http请求头中的referer值等防御措施,从而导致恶意攻击者利用被攻击者的身份完
成敏感操作。

1. 网站的某些重要功能并没有安全性措施,如用户添加、信息修改、修改密码、转账等

密码修改-----需要验证旧密码或者验证绑定的手机号码

2. 没有验证referer

控制并验证网站的跳转流程,referer记录的是网站跳转成功之前的页面。验证referer利用的是同源策略。
同源策略------url的协议、域名、端口保持一致

3. 由于个人习惯并没有正确退出,以至于cookie仍然有效

4. 没有验证token

token------一串随机的字符串
token------控制网站的访问流程的
在网站开解析的时候会随机的产生一个字符串,这个字符串会伴随网站的整个使用流程。

3. CSRF攻击流程

1. 流程图

1. 受害者正常访问网站A(含有CSRF)

2. 网站A会返回COOKIE值并且将cookie值存放到浏览器,session值存放到服务器

3. 受害者使用网站A结束之后没有正常退出,使cookie值是一个有效的状态存放在浏览器
	没正常退出-------直接将网站A的窗口X掉,没有通过点击注销的方式退出网站。

4. 受害者访问网站B(含有XSS等漏洞),出发XSS等漏洞的恶意代码
	恶意代码的作用是什么?
		对网站A中的某个功能进行请求(访问)
	恶意请求是如何构造的呢?
		恶意请求就是访问网站A中某个功能的URL。攻击者提前访问过网站A,并且分析得出这个功能安全防御的措施不够严格,存在CSRF。

5. 请求网站A
由于受害者浏览器上存在网站A的cookie,不需要身份认证就可以完成身份认证后的操作。

4. 场景

CSRF漏洞_第1张图片
谁访问此链接就会修改谁的数据

5. 利用

1. burpsuite

1. burpsuite生成的url
2. 直接利用生成的html网页
	 构造的html网页应该放置到VPS(公网服务器上----腾讯云、阿里云、华为云、亚马逊、、、、)

2. DVWA管卡

1. low
没有任何的安全处理方式
2. mideum
校验了referer,需满足referer中包含有当前访问网站的主机名
绕过方式:将html的名字命名为:当前主机名.php
3. high
验证了token,可利用攻击工具绕过
4. 总结
只要出现了token、验证了referer则CSRF漏洞不建议测试

6. 防御

1. 重要功能添加验证信息,如添加校验码、校验旧密码、、、、、
2. 校验referer
3. 校验token
4. 提高用户的安全意识

你可能感兴趣的:(csrf,网络安全,web安全,csrf)