HttpOnly 与cookie安全

在xss攻击中,有种方式便是身份伪造,攻击者通过恶意脚本获取用户的cookie信息,以此cookie信息伪造真实用户去访问用户的私密空间。

在本片文章中,我们谈及httponly与cookied的安全问题。

httponly最早由微软提出,即浏览器禁止页面js访问带有HttpOnly属性的cookie。HttpOnly并不直接对抗XSS攻击,只是防止XSS攻击者窃取cookie。对于存放敏感信息的cookie,可以通过设置该属性来避免攻击者窃取cookie。

下面谈谈如何开启HttpOnly属性,其实在php.ini中我们开启就行,就像这样:

,或在会话中开启会话级别的HttpOnly属性:ini_set()。

关于其它的问题详见:http://netsecurity.51cto.com/art/201305/393775.htm

关于cookie的覆盖问题见:http://netsecurity.51cto.com/art/201404/435401.htm

时间: 2025-01-07 18:53:26

HttpOnly 与cookie安全的相关文章

使用HttpOnly提升Cookie安全性

Http是无状态的,http是不会为了下一次连接而维护这次连接所传输的信息的.所以为了在每次会话之间传递信息,就需要用到cookie和session,很多时候都是在cookie中存储一个sessionID,服务器来识别该用户,那么安全隐患也就引申而出了,只要获得这个cookie,就可以取得别人的身份,特别是管理员等高级权限帐号时,危害就大了,而XSS就是在别人的应用程序中恶意执行一段JS以窃取用户的cookie. 在浏览器中的document对象中,就储存了Cookie的信息,而利用js可以把这

获取HttpOnly的cookie

/// <summary> /// 获取HttpOnly的cookie /// 调用方式如下 /* String hostName = theBrowser.Url.Scheme + Uri.SchemeDelimiter + theBrowser.Url.Host; Uri hostUri = new Uri(hostName); string cookieStr = CookieHelper.GetCookieInternal(hostUri, false); MatchCollectio

浅谈HTTP Cookie 的 Secure 和 HTTPONLY属性

最近工作中遇到了关于cookie的secure及httponly属性的问题,所以关注并学习了一段时间,这里做一下简要记录.关于secure和httponly标志的用途可以参考wikipedia. 起因:系统PHP升级(5.1.7->5.4.5)并要求在下个升级后更新/etc/php.ini下的两个变量,设定值为1. Session.cookie_secure=1 Session.cookie_httponly=1 由此引发了这次调查,调查的内容涉及到了php自身cookie函数.开源框架Code

Cookie中设置了&quot;HttpOnly&quot;属性,有效的防止XSS攻击

1.什么是HttpOnly? 如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie. XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段H

PHP 中cookie 和 session 的分析

1. PHP 的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制.     PHP 在http 协议的头信息里发送cookie,因此  setcookie()     函数必须在其它信息被输出到浏览器 前调用,这和对  header()    函数的限制类似. 1.1 设置cookie: 可以用 setcookie()或 setrawcookie()函数来设置 cookie.也可以通过向客户端直接发送http  头来 设置.     1.1.1  使用 set

IBM AppScan 安全扫描:加密会话(SSL)Cookie 中缺少 Secure 属性 处理办法

问题描述: 原因分析: 服务器开启了Https时,cookie的Secure属性应设为true: 解决办法: 1.服务器配置Https SSL方式,参考:https://support.microsoft.com/kb/324069/zh-cn 2.修改web.config,添加: <system.web>  <httpCookies httpOnlyCookies="true" requireSSL="true" /><system.

Android Cookie共享到WebView避免再次登录(保持登录状态)

最近在做项目时用到了webview打开指定链接的网页,可已经把webview设置了cookie但始终跳转到登录页面,这明显是cookie没有设置成功导致webview没有将设置好的cookie发送出去…… 1 2 3 4 5 CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true)

SESSION和cookie的使用和区别

PHP中SESSION和cookie的使用和区别 cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制. PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似. 1.1 设置cookie: 可以用 setcookie() 或 setrawcookie() 函数来设置 cookie.也可以通过向客户端直接发送http头来设置. 1.1.1 使用setcookie()函数设置

加密会话(SSL) Cookie 中缺少中Secure属性

在项目使用appscan扫描的时候出现: 处理方法: 打开项目的web.config文件,在<system.web>下面增加 <httpCookies httpOnlyCookies="true" requireSSL="true" /> 注意,加入参数之后,如果继续使用http来访问的时候,如登录需要使用cookie,则这个时候是不能正常读到cookie的 3.修改后台写Cookies时的设置 cookie.Secure = true: H