作为用户,为了防止cookie盗窃,可以在浏览器设置中选择“禁用cookie”,但是这样做很可能导致在访问某个站点的时候弹出警告“该站点必须使用cookie”.
cookie主要有两种形式:
会话cookie: 存储在浏览器的内存中,在浏览器的每次请求中通过Http Header进行传递;
持久cookie: 存储在计算机硬盘文件中,在浏览器的每次请求中通过Http Header进行传递。
二者的权标在于,站点在会话结束时,会忘记会话cookie,但持久cookie不同,下一次访问站点时,站点仍然记得它。
如果能够窃取某个人在一个网站上的身份验证cookie,就可以在该网站上冒充他,执行他的权限内的所有操作。这种攻击依赖于XSS,必须在目标网站中注入一些脚本才能窃取cookie。
阻止cookie窃取
在web.config文件中对所有的cookie进行设置:
<httpCookies httpOnlyCookies="true" requireSSL="false" />
也可以在程序中为表写的每个cookie单独设置:
Response.Cookie["MyCookie"].Value = "Value";
Response.Cookie["MyCookie"].HttpOnly = true;
这个标志会告诉浏览器,除了服务器修改或者设置cookie之外,其他一些对cookie的操作均无效。这能阻止大部分基于XSS的cookie问题。
3、Web应用程序中的安全向量 -- cookie盗窃的更多相关文章
-
Web 应用程序中的安全向量 &ndash; ASP.NET MVC 4 系列
Web 程序运行在标准的.基于文本的协议(HTTP 和 HTML)之上,所以特别容易受到自动攻击的伤害.本章主要介绍黑客如何滥用应用程序,以及针对这些问题的应对措施. 威胁:跨站脚本 ...
-
7、Web应用程序中的安全向量 -- 使用Retail部署配置
该方法不需要胡乱地编辑各个配置设置,而是利用了ASP.NET特性:Retail部署配置. 部署配置是服务器的machine.config文件(在%windir%\Microsoft.NET\Frame ...
-
6、Web应用程序中的安全向量 -- customErrors(适当的错误报告和堆栈跟踪)
几乎所有的网站在开发过程中都在web.config文件中设置了特性<customErrors mode="off">. customErrors模式有3个可选的设置项: ...
-
1、Web应用程序中的安全向量 -- XSS跨站脚本攻击
XSS攻击(跨站脚本攻击)的概念: 用户通过网站页面的输入框植入自己的脚本代码,来获取额外的信息. XSS的实现方式: (1)通过用户将恶意的脚本命令输入到网站中,而这些网站又能够接收"不干 ...
-
5、Web应用程序中的安全向量 -- Open Redirect Attack(开放重定向)
开放重定向攻击的概念:那些通过请求(如查询字符串和表单数据)指定重定向URL的Web应用程序可能会被篡改,而把用户重定向到外部的恶意URL. 在执行重定向之前需先检查目标地址的有效性,可使用Url.I ...
-
2、Web应用程序中的安全向量 -- CSRF/XSRF(跨站请求伪造)
CSRF的概念可以分为两类:XSS和混淆代理. 混淆代理中的"代理"是指用户的浏览器.CSRF是基于浏览器的工作方式运作的.用户登录到一个站点后,用户的信息将会存储在cookie中 ...
-
4、Web应用程序中的安全向量 -- over-posting(重复提交)
模型绑定是ASP.NET MVC提供的强大功能,可遵照命名约定将输入元素映射到模型属性,从而极大地简化了处理用户输入的过程,然而,这也成为了攻击的另一种没接,给攻击者提供了一个填充模型属性的机会,右下 ...
-
在 ASP.NET MVC Web 应用程序中输出 RSS Feeds
RSS全称Really Simple Syndication.一些更新频率较高的网站可以通过RSS让订阅者快速获取更新信息.RSS文档需遵守XML规范的,其中必需包含标题.链接.描述信息,还可以包含发 ...
-
Java嵌入式数据库H2学习总结(二)——在Web应用程序中使用H2数据库
一.搭建测试环境和项目 1.1.搭建JavaWeb测试项目 创建一个[H2DBTest]JavaWeb项目,找到H2数据库的jar文件,如下图所示: H2数据库就一个jar文件,这个Jar文件里面包含 ...
随机推荐
-
安装openssl 扩展的时候出现Cannot find config.m4. Make sure that you run &#39;/usr/local/php/bin/phpize&#39; in the top level source directory of the module的解决方法
进入php源码包目录:cd /usr/local/php-5.6.25/ext/openssl 执行命令: cp ./config0.m4 ./config.m4 即可
-
关于action和category的认知区别
在我的了解, action: intent 有一个或多个action,如果过滤规则中能够匹配到其中一个,是可以成功的 category: intent有一个或多个category,过滤规则需要满足对应 ...
- kkt
-
mysql基础学习
二.操作表 1.自行创建测试数据: -- 创建数据库create database practice charset utf8;-- 1.自行创建测试数据:---- 创建班级表:classcreate ...
-
监控(1)-企业常用服务监控shell
-----------------企业监控------------------------主动探测监控(“监控机”主动探测“被监控机”)HTTP服务器监控#!/bin/shLANG=C#被监控服务器. ...
-
python中从键盘输入内容的方法raw_input()和input()的区别
raw_input()输出结果都是字符串 Input()输入什么内容,输出就是什么内容
-
一、git创建版本库及提交
第一步:从Git官网直接 下载安装程序 ,并自行配置环境变量. git config --global user.name "Your Name" // 设置用户名 git ...
-
Python爬虫框架Scrapy实例(四)下载中间件设置
还是豆瓣top250爬虫的例子,添加下载中间件,主要是设置动态Uesr-Agent和代理IP Scrapy代理IP.Uesr-Agent的切换都是通过DOWNLOADER_MIDDLEWARES进行控 ...
-
20145317彭垚《网络对抗》Exp9 Web安全基础实践
20145317彭垚<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询 ...
-
Tomcat 7.x/8.x 优化
一.优化Connector http://www.aikaiyuan.com/8466.html tomcat的运行模式有3种 1)bio 默认的模式,性能非常低下,没有经过任何优化处理和支持. 2) ...