当前位置:  开发笔记 > 编程语言 > 正文

CSRF漏洞/ cookie问题

如何解决《CSRF漏洞/cookie问题》经验,为你挑选了0个好方法。

只想获得知情人士的意见.我正在考虑CSRF的漏洞,以及我所知道的最常见的反对它的方法.该方法是在返回的html中创建一个令牌,并添加一个具有相同值的cookie.因此,如果脚本试图发布帖子,他们就会have to guess the token thats embedded in the web page成功.

但是,如果他们针对特定网站,为什么他们不能只使用一个脚本

    调用页面上的get(即使脚本无法访问,也会返回cookie)

    解析html并获取令牌

    在其中调用带有该令牌的帖子(返回的cookie将被发回)

    他们已经成功提交了一份没有用户知识的表格

该脚本不需要知道cookie的内容,它只是使用cookie一直来回发送的事实.

我在这里错过了什么?这不可能吗?如果你仔细想想,我觉得这很可怕.

在这一行下面不需要阅读回答问题:)

这个漏洞基于以下事实:认证是基于cookie完成的,我认为这是当前认证的主要方式.

我能想到的另一个解决方案是在页面级别进行身份验证.因此,当他们登录时,返回的html中将包含该令牌.他们单击的每个链接都包含该令牌,因此当Web服务器获取请求时,它可以识别用户/会话.它的问题在于,如果他们使用除此之外的任何导航它们将是"未经身份验证的"(例如输入网址),它在网址中也看起来不太好,因为它可能看起来像这样:

https://www.example.com/SuperSecretPage/1/123j4123jh12pf12g3g4j2h3g4b2k3jh4h5g55j3h3

但我确实理解,如果安全性更重要,那么漂亮的URL就是第二位.

我不知道关于cookie的一切,但如果用户代理对他们的cookie更加小心呢?

例如,如果发送的cookie取决于选项卡,该怎么办?我们现在都在使用标签冲浪,对吧?那么如果cookie的范围是标签呢?因此,如果我在标签1上打开我的银行网站并且我在标签2上浏览,则在标签2上调用获取/发布的任何脚本将仅发送在标签2中累积的cookie.

或者如果存储cookie /域,该怎么办?因此,当我在example.com上时,任何返回的cookie都会进入example.com cookie集合.然后当我在www.mybankingsite.com上时,所有的cookie都被放入mybankingsite.com集合中.因此,如果我访问example.com并运行调用get/post的脚本,则用户代理将仅发送example.com cookie.这与发送请求域的cookie不同.例如,如果脚本在example.com的网页中调用了mybankingsite.com,则用户代理将不会发送mybankingsite.com cookie.

我知道我无法控制用户代理的工作,但我只是在探索可能性

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有