json格式,CSRF如何防御?

一个常见的问题是“我需要保护由javascript发出的JSON请求吗?”答案是,这视情况而定。但是,您必须非常小心,因为有些CSRF漏洞会影响JSON请求。例如,恶意用户可以使用以下格式使用JSON创建CSRF:

这将产生以下JSON结构

如果应用程序未验证Content-Type,则该应用程序将被暴露。根据设置的不同,仍然可以通过更新URL后缀以.json结尾来利用验证内容类型的Spring MVC应用程序,如下所示:

针对上述官方的描述,有两个问题想请教各位老师:

2.1 产生了如上述的JSON结构会造成什么问题?

这会有什么影响么?如果造成了原本想直接传递给后台的表单数据,变成了传递json,后台在接收参数、做参数解析的时候就会报错。为什么会涉及CSRF问题?

意思是原本只处理json数据的接口,增加校验后,将会拒绝处理其他数据类型么?但是如果接口传递的数据不是json类型的,在参数解析的时候也会报错啊?增加这个校验的必要性是?

原文:/站点的js注入到当前页面中,造成了XSS攻击。为了防止这个漏洞,我们只要在模板或者程序中,调用/_55bcdf45446d1.png) 后续:在Midway中,Node.js和淘宝的分布式session对接后,可以考虑在Midway这一层自动进行token校验;毕竟安全校验越早进行,成本也会更低。 建议:在Midway中,可以判断是否request中有token的值,如果一个修改操作,没有token,可以直接在Midway层认为是不安全的,将请求丢弃掉。 ## 其他安全问题 关于常见的Web安全问题,还有如下几种,这里只做一些简介,后续会持续继承到Midway framework中。 * HTTP Headers安全 * CRLF Injection 攻击者想办法在响应头中注入两个CRLF特殊字符,导致响应数据格式异常,从而注入script等 * 拒绝访问攻击 每个请求因为都会默认带上cookie,而服务器一般都会限制cookie的大小,这就导致了,如果用户客户端cookie被设置成了超过某个阀值,那么用户就再也无法访问网站了 * XSS等注入性漏洞是所有漏洞中最容易被忽略,占互联网总攻击的70%以上;开发者编写Node.js代码时,要时刻提醒自己,永远不要相信用户的输入。 比如如下几个例子。 * `var mod = 总结 前后端分离模式下,可以让传统的前端开发人员开始编写后端代码,虽然从架构上讲,只负责模板这一层,但也会接触大量的后端代码;所以安全对于前端来说,这是一个不小的挑战。

因为 HTTP 协议是无状态的,所以很久以前的网站是没有登录这个概念的,直到网景发明 cookie 以后,网站才开始利用 cookie 记录用户的登录状态。cookie 是个好东西,但它很不安全,其中一个原因是因为 cookie 最初被设计成了允许在第三方网站发起的请求中携带,CSRF 攻击就是利用了 cookie 的这一“弱点”,如果你不了解 CSRF,请移步别的地方学习一下再来。

当我们在浏览器中打开 站点下的一个网页后,这个页面后续可以发起其它的 HTTP 请求,根据请求附带的表现不同,这些请求可以分为两大类:
上面说的同步和异步并不是正式术语,只是我个人的一种区分方式。
这些由当前页面发起的请求的 URL 不一定也是 上的,可能有 的,也可能有 的。我们把发送给 上的请求叫做第一方请求(first-party request),发送给 和

Lax,下面分别讲解:

严格模式,表明这个 cookie 在任何情况下都不可能作为第三方 cookie,绝无例外。比如说假如 会。举个实际的例子就是,假如淘宝网站用来识别用户登录与否的 cookie 被设置成了 SameSite=Strict,那么用户从百度搜索页面甚至天猫页面的链接点击进入淘宝后,淘宝都不会是登录状态,因为淘宝的服务器不会接受到那个 cookie,其它网站发起的对淘宝的任意请求都不会带上那个

会,也就是说用户在不同网站之间通过链接跳转是不受影响了。但假如这个请求是从 发起的对 的异步请求,或者页面跳转是通过表单的 post 提交触发的,则 bar 也不会发送。

我要回帖

更多关于 token防止csrf原理 的文章

 

随机推荐