个人简单理解:

1、XSS最简单的理解就是可以在表单提交的内容上嵌入JS执行代码,然后页面渲染的时候没有过滤时会自动执行这个脚本。

2、CSRF可以理解为当你登录了京东,浏览器上保存了你登录的Cookie,此时你有打开另一个网页,这个网页上有一个IFrame只想你了你的京东后台订单列表的,那么这个IFrame就能正常读取你订单的数据,注意,这个数据实在另一个网页上读取的。

3、Cookie来说,现在的浏览器基本都已经杜绝了JS能正常读取其它站点的Cookie,如果要获取只能在当前网页上嵌入其它代码来获取本站的Cookie。

4、综上所述,其实CSRF离不开Cookie,并不是说要获取Cookie,而是利用浏览器保存已有的Cookie数据来做跳转,而XSS恶意代码执行是辅助CSRF去执行,当然,XSS还有可能有其它用途,比如挖矿等等。现在基本上都不用打开另外一个页面去获取Cookie,结合XSS在本站下自动执行脚本动作,也不用获取Cookie,直接提交时默认就已经带上了本站的全部Cookie信息。所以这个XSS是实际操作CSRF是一个攻击概念。

解决方式简单理解:

1、Cookie上有几个属性能杜绝JS获取本地Cookie,比如:HttpOnly。Secure是只能在SSL下使用。现在的浏览器都已经杜绝了跨站点通过JS获取Cookie的,所以不存在能在B站获取A站的全部Cookie。

2、CSRF的防御可以网页上增加tooken的机制,比如Java框架提供了OWASP-CSRFGuard,再比如使用JWT这些token认证。同样在渲染的HTML内容上增加meta头限制使用IFrame等。

3、XSS的功能可以用简单过滤提交内容来限制。

5、综上所述,其实主要是增加其复杂性,但如果从网络运营商上就已经控制了你的网络入口,那么你请求的任何内容都经过网络运营商时,这些内容都可以被难道,从而伪造出可提交的数据。当然一些通过SSL可以比较有效的防范,但依然还是有办法实现的。所以,这些功能只能做到99%的防范,不能完全杜绝。

Cookie:

https://segmentfault.com/a/1190000004556040

https://www.owasp.org/index.php/HttpOnly

http://www.cnblogs.com/dynasty/archive/2012/01/29/2330913.html

http://xmong.iteye.com/blog/1566102

http://www.freebuf.com/articles/web/42802.html

CSRF:

https://baike.baidu.com/item/CSRF/2735433

https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

https://www.cnblogs.com/shytong/p/5308667.html

http://netsecurity.51cto.com/art/201104/256035.htm

http://blog.csdn.net/stpeace/article/details/53512283

http://www.freebuf.com/articles/web/55965.html(CSRF攻击示例,结合XSS实现)

http://www.freebuf.com/vuls/131691.html

https://www.cnblogs.com/lovesong/p/5233195.html

https://segmentfault.com/q/1010000000713614

https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/

https://www.zhihu.com/question/39011147

http://blog.csdn.net/xeseo/article/details/9467099(Java OWASP-CSRFGuard框架)

https://www.owasp.org/index.php/Category:OWASP_CSRFGuard_Project(Java OWASP-CSRFGuard框架)

http://xmong.iteye.com/blog/1564261

XSS:

http://xmong.iteye.com/blog/1565910

https://baike.baidu.com/item/XSS/917356

http://blog.csdn.net/ghsau/article/details/17027893

http://www.freebuf.com/articles/web/40520.html

https://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html

https://www.zhihu.com/question/24918141

https://www.cnblogs.com/dsky/archive/2012/04/06/2434768.html

http://www.freebuf.com/articles/web/42727.html

http://www.freebuf.com/sectool/42722.html

http://bbs.51cto.com/tag-XSS.html

http://www.hekaiyu.cn/xss/272.html

https://www.cnblogs.com/xiaozi/p/5588099.html

Cookie安全与CSRF和XSS攻击知识点收集的更多相关文章

  1. 整理关于web项目如何防止CSRF和XSS攻击的方法

    1 了解CSRF的定义 CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding, ...

  2. CSRF与XSS攻击的原理与防范

    CSRF 1.概念与原理 CSRF,跨站请求伪造,攻击方伪装用户身份发送请求从而窃取信息或者破坏系统.例如: 用户访问A网站登陆并生成了cookie,再访问B网站,如果A网站存在CSRF漏洞,此时B网 ...

  3. 基于CSRF的XSS攻击

    有些XSS不好利用啊,比如有些后台的XSS漏洞,你进不了别人的后台,怎么能 利用他的XSS漏洞呢?进得了别人的后台,还利用这个XSS漏洞干什么?其实这个时候可以种个后门(如果那是个持久型的XSS,这是 ...

  4. XSS攻击 && CSRF攻击 基础理解

    一个网站,不管多么的帅气,多么的风骚,如果你不安全,那始终都是一个弟弟啊~ 今天又看了下XSS和CSRF攻击的文章,我也想发点什么普及下大家的安全意识,毕竟作为一名拥有伟大梦想的程序员,基本的安全意识 ...

  5. 前端XSS攻击和防御

    xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会 ...

  6. Asp.net防御XSS攻击组件库

    一.AntiXss 翻看mvc4高级编程,偶看到作者强烈推荐使用AntiXss防御XSS攻击,收集资料看下. 目前类库已融入到.netframework中,类库主页不再更新. 使用方法:使用Nuget ...

  7. XSS攻击&SQL注入攻击&CSRF攻击?

    - XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意 ...

  8. xss攻击和csrf攻击的定义及区别

    1.CSRF的基本概念.缩写.全称 CSRF(Cross-site request forgery):跨站请求伪造. PS:中文名一定要记住.英文全称,如果记不住也拉倒. 2.CSRF的攻击原理 用户 ...

  9. XSS攻击 CSRF攻击

    XSS攻击: 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, 故将跨站脚本攻击缩写为XSS.恶意攻击者 ...

随机推荐

  1. 细嚼慢咽 Mongoose 5

    此文已由作者黄锴授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 由于Mongoose一直没有中文文档,加上现在市面上充斥着太多"快速上手",很多中文 ...

  2. [POJ 1000] A+B Problem 经典水题 C++解题报告 JAVA解题报告

        A+B Problem Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 311263   Accepted: 1713 ...

  3. Leetcode31--->Next Permutation(数字的下一个排列)

    题目: 给定一个整数,存放在数组中,求出该整数的下一个排列(字典顺序):要求原地置换,且不能分配额外的内存 举例: 1,2,3 → 1,3,2:  3,2,1 → 1,2,3:  1,1,5 → 1, ...

  4. re——正则表达式

    常用的表达式规则 '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r&q ...

  5. php将数组写入到文件的三种方法

    php将数组原样写入或保存到文件有三种方法可以实现, 第一种方法是使用serialize, 第二种方法是使用print_r, 第三种方法是使用var_export, 本文章向大家介绍这三种方法是如何将 ...

  6. CM10 WIFI连不上解决方案

    手机是Moto Mileston2 ,好久之前就刷成了CM10, 但是一直没出问题. 最近,发现在某些路由器上连接不上,总是 在验证账户或者获取IP. 解决办法如下: http://moto.zol. ...

  7. CAReplicatorLayer 详解

    CAReplicatorLayer可以将自己的子图层复制指定的次数,并且复制体会保持被复制图层的各种基础属性以及动画 基本属性 instanceCountvar instanceCount: Int拷 ...

  8. 【Luogu】P3971Alice And Bob(贪心)

    题目链接 容易发现值为x的点只可能从值为x-1的点转移过来,所以我们把原序列连成一棵树,dfs序就是原序列的一种形式. 就可以直接求啦 #include<cstdio> #include& ...

  9. [luoguP2336] [SCOI2012]喵星球上的点名(后缀数组 + 暴力)

    传送门 原本的想法是把所有的串不管是名字还是询问都连起来,记录一下询问串在sa数组中的位置 对于每个询问可以在sa数组中二分出左右边界,第一问用莫队,第二问差分乱搞. 结果发现我差分的思路想错了,先写 ...

  10. Java面试题之notify和notifyAll的区别

    锁池: 假设线程A已经拥有对象锁,线程B.C想要获取锁就会被阻塞,进入一个地方去等待锁的等待,这个地方就是该对象的锁池: 等待池: 假设线程A调用某个对象的wait方法,线程A就会释放该对象锁,同时线 ...