【攻击与漏洞】-CSRF跨站点请求伪造

攻击者伪造一个链接设法让已经登录的用户访问,以此来以用户的身份执行某些非法操作。

CSRF(crossing-site request forgery)攻击有两个重点

  1. 目标用户已经登录了网站,能够执行网站的功能
  2. 目标用户访问了攻击者伪造的URL

因为这个url是伪造的,所以叫做跨站点请求伪造

CSRF实验

在bp中使用generate CSRF Poc

https://blog.csdn.net/qq_39328436/article/details/114335137

CSRF与XSS的区别

CSRF并没有盗用用户权限,只是诱导用户点击某个链接达到非法目的

XSS盗取了用户权限

CSRF检测

  1. 没有验证码
  2. 修改密码时,不需要验证旧的密码
  3. 修改敏感信息时,不需要验证token
以上几种情况都可能,导致CSRF攻击变得简单

CSRF预防

CSRF之所以能攻击成功,本质原因是因为攻击者成功预测出url的所有参数值和参数值,成功伪造请求。

1.验证码

验证码是对抗CSRF最简单最有效的方式。CSRF的攻击过程往往是在用户不知情的情况下伪造了网络请求,而验证码则强迫用户和浏览器互动。但是出于用户体验,并不能每个交互的地方都要求输入验证码,所以验证码只是CSRF的辅助手段

2.Referer

http的请求头中包含referer字段,他表示http请求的来源,比如Referer=http://www.google.com。

常见的互联网应用中,页面与页面之间是有逻辑关系的,因此会来自同一个源,如果referer不是一自己的网站开头的域名,这说明可能是CSRF攻击

 3.token

为了不让攻击者伪造出url,可以再http请求中以参数的形式加入一个随机产生的token

http://host/path/delete?username=abs&token=[random(seed)];

猜你喜欢

转载自blog.csdn.net/qq_39328436/article/details/114333010
今日推荐