个人简单理解:

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

最新文章

  1. ASP.NET Core 整合Autofac和Castle实现自动AOP拦截
  2. codingNet项目的创建
  3. SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)
  4. poj 2001:Shortest Prefixes(字典树,经典题,求最短唯一前缀)
  5. erlang rabbitmq-server安装
  6. 利用__index和__newindex实现默认值表、监控表、只读表
  7. Python 字典(Dictionary)
  8. [SAP ABAP开发技术总结]业务对象和BAPI
  9. hihocoder #1177 : 顺子 模拟
  10. 线程控制之线程和fork
  11. UNIX标准化及实现之选项
  12. WEB页面的生命周期,DOMContentLoaded,load,beforeunload,unload
  13. frame buffer简单应用
  14. .net core2.x - 关于仓储(Repository)
  15. cvc-complex-type.3.2.2: 元素 'constructor-arg' 中不允许出现属性 'name'
  16. 关于xampp默认安装后mysql/mariadb密码的修改
  17. RabbitMq(2) 简单消息队列
  18. 【Vijos1404】遭遇战(最短路)
  19. CAD中批量打印
  20. 手工利用Chrome浏览器“Javascript控制台”

热门文章

  1. 带权并查集:CF-2015 ACM Arabella Collegiate Programming Contest(F题)
  2. PHP GD库---之头像合成九宫格
  3. UVa 10934 DP Dropping water balloons
  4. Oracle 了解 DDL 操作与 REDO 的关系
  5. [POJ 1006] Biorhythms C++解题
  6. API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式
  7. Java中接口的作用
  8. BZOJ4514 [Sdoi2016]数字配对 【费用流】
  9. jenkins配置发送邮件
  10. 关于python数据类型的一些举例