跳到主要内容

CSRF 跨站伪造请求

csrf 是代替用户完成指定操作,需要知道客户端页面的代码。而 xss 呢是获取用户的数据,不需要知道页面代码和数据包

csrf 跨站伪造请求了,就是攻击者使用你的身份去发送恶意的请求,从而可以利用你的账号购买商品、发送邮件

主要是:

用户在登陆了网站 a 后,浏览器返回并在本地存储了 cookie

用户在网站 a 看到了不安全的网站 b 链接,

这个链接指向一个含有 iframe 的标签,并且发送了 http 请求给网站 a 的服务端,

因此会携带 cookie 这时服务端将会认为网站 a 的用户发起了操作

简单级别攻击:

我在网站 a 发布了一篇网站这个文章的 img 是隐藏的并且 src 指向的是网站 a 服务器的地址,

并且携带了 query 参数,这时将发送 http 请求

高级的 csrf 攻击:

在网站 a 中插入一个链接这个链接是指向攻击者网站的一个页面,这个页面添加了 iframe,

这个 iframe 发送了 http 请求到 a 网站的服务器这个时候服务器接收到了请求验证后确定是用户攻击成功

防范:

通过增加 token 验证唯一用户,

或者验证码

内容加密