Web漏洞-CSRF

Web漏洞-CSRF

  • 一、预备概念
  • 二、CSRF跨站请求伪造
    • (1)原理
    • (2)需要满足的条件
    • (3)DVWA中的实验
    • (4)防御CSRF

一、预备概念

Cookie:放在客户端
Cookie的两个重要属性:Domain,没有明确指明则默认为当前域名;Path,没有明确指明则默认为当前路径
Session:放在服务端
Token:服务端加密生成的令牌,保存在客户端;比cookie和session的安全性要高
https://www.cnblogs.com/sulanyuan/p/13395940.html
浏览器同源策略:“三个相同”,协议相同;域名相同;端口相同
浏览器同源策略限制的三种行为:cookie localstorage和indexDB无法获取;Dom无法获取;AJAX(标准的文档模型)请求不能发送
浏览器提交cookie需要满足的两个点:当前域名或者父域名下的Cookie;当前路径或父路径下的Cookie

Tip:
https默认端口:443
http默认端口:80
jsonp可以实现跨域(核心:标签可以跨域)
同一级域名没有从属关系
get与post的区别:https://www.cnblogs.com/logsharing/p/8448446.html

二、CSRF跨站请求伪造

(1)原理

CSRF(Cross-site request forgery)跨站请求伪造。黑客利用已经登录的用户,诱使其访问或者登录某个早已构造好的恶意链接或者页面,然后在用户毫不知情的情况下,以用户的名义完成了非用户本意的非法操作。这种攻击我们也被称为“One Click Attack”或者“Session Riding”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用行为。

(2)需要满足的条件

网站存在CSRF漏洞(代码审计、或者根据已经公布)
目标站点存在一个可以进行数据修改或者新增操作,且此操作被提交后台后的过程中,其未提供任何身份识别或校验的参数。后台只要收到请求,就立刻下发数据修改或新增的操作。
在本身登陆cookie有效的时候,点击了黑客的攻击链接

(3)DVWA中的实验

Low等级:
抓到的请求包:
Web漏洞-CSRF_第1张图片
利用burpsuite生成的html:
Web漏洞-CSRF_第2张图片
在浏览器编译之后:
Web漏洞-CSRF_第3张图片
点击之后:
Web漏洞-CSRF_第4张图片

Medium等级:
抓到的包:
Web漏洞-CSRF_第5张图片
Medium增加的条件:只要referer中存在与host一样的IP即可
Web漏洞-CSRF_第6张图片
修改referer使存在host一样的IP即可
Web漏洞-CSRF_第7张图片
High等级(这个等级没有按照题目的意思做):
抓到的包:
Web漏洞-CSRF_第8张图片
由于重复的token,所以改密码会失败:
Web漏洞-CSRF_第9张图片
在DVWA的XSS漏洞中获取最新cookie
在这里插入图片描述
Web漏洞-CSRF_第10张图片
将cookie换掉,即成功:

(4)防御CSRF

验证referer头
验证随机token
必须输入原密码

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