Cookie安全与CSRF和XSS攻击知识点收集
个人简单理解:
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攻击知识点收集的更多相关文章
- 整理关于web项目如何防止CSRF和XSS攻击的方法
1 了解CSRF的定义 CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding, ...
- CSRF与XSS攻击的原理与防范
CSRF 1.概念与原理 CSRF,跨站请求伪造,攻击方伪装用户身份发送请求从而窃取信息或者破坏系统.例如: 用户访问A网站登陆并生成了cookie,再访问B网站,如果A网站存在CSRF漏洞,此时B网 ...
- 基于CSRF的XSS攻击
有些XSS不好利用啊,比如有些后台的XSS漏洞,你进不了别人的后台,怎么能 利用他的XSS漏洞呢?进得了别人的后台,还利用这个XSS漏洞干什么?其实这个时候可以种个后门(如果那是个持久型的XSS,这是 ...
- XSS攻击 && CSRF攻击 基础理解
一个网站,不管多么的帅气,多么的风骚,如果你不安全,那始终都是一个弟弟啊~ 今天又看了下XSS和CSRF攻击的文章,我也想发点什么普及下大家的安全意识,毕竟作为一名拥有伟大梦想的程序员,基本的安全意识 ...
- 前端XSS攻击和防御
xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会 ...
- Asp.net防御XSS攻击组件库
一.AntiXss 翻看mvc4高级编程,偶看到作者强烈推荐使用AntiXss防御XSS攻击,收集资料看下. 目前类库已融入到.netframework中,类库主页不再更新. 使用方法:使用Nuget ...
- XSS攻击&SQL注入攻击&CSRF攻击?
- XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意 ...
- xss攻击和csrf攻击的定义及区别
1.CSRF的基本概念.缩写.全称 CSRF(Cross-site request forgery):跨站请求伪造. PS:中文名一定要记住.英文全称,如果记不住也拉倒. 2.CSRF的攻击原理 用户 ...
- XSS攻击 CSRF攻击
XSS攻击: 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, 故将跨站脚本攻击缩写为XSS.恶意攻击者 ...
随机推荐
- POJ:3160-Father Christmas flymouse
Father Christmas flymouse Time Limit: 1000MS Memory Limit: 131072K Description After retirement as c ...
- BZOJ 3351: [ioi2009]Regions
对于一个询问(x,y)对y出现次数分类,若<=lim,在儿子处统计答案,若>lim则y的种类肯定<lim,在祖先处统计(仿佛要去重?但是没去重也过了,那个时限仿佛怎么做都能过) #i ...
- JAVA 基础--开发环境 vscode 搭建
对于使用 Visual Studio Code 的 Java 开发者来说,Language Support for Java(TM) by Red Hat 扩展提供了非常好的语言特性支持,比如智能感知 ...
- joyoi tyvj1313 [NOIP2010初赛]烽火传递
单调队列优化dp #include <iostream> #include <cstdio> using namespace std; int dp[1000005], n, ...
- Linux入门(一)
Linux安装的注意问题: 关键的两点: 1)为Linux操作系统准备硬盘空间: 2)启动ISO镜像文件中的安装程序. 前期准备: 1.硬盘分区魔术师 2.grub 纯DOS环境 3.Ub ...
- Selenium WebDriver-模拟鼠标双击某个元素
#encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...
- 《完美应用Ubuntu》第3版 何晓龙 著
系统篇 用好Ubuntu掌握这些就够了 第1章 Ubuntu的进化 1.1 GNU/Linux的历史和文化 1.1.1 GNU/Linux是Linux的全称 1.1.2 Linux的诞生 1.2 Li ...
- PHP协程是通过生成器实现的,这里测试了PHP生成器的一些特性
学习PHP的生成器,测试了一些特性.代码如下: function gen() { $name = (yield 'hello'); $nickname = (yield 'world'); yield ...
- 解决11g r2,12c使用wm_concat报错问题
创建type CREATE OR REPLACE TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECT ( CURR_STR ), STATIC FUNCTI ...
- 【Luogu】P2657windy数(数位DP)
题目链接 正式迈入了数位DP的大门…… 心情激动 (看我立个flag,我如果专攻数位DP的话,到wc之前就会有秒数位DP蓝题的能力) 数位DP讲解链接 讲的非常详细,良心博客.比我写的博客加在一起还要 ...