XSS攻击
- Http-only的设计主要是用来防御XSS攻击
- 跨站点脚本攻击是困扰Web服务器安全的常见问题之一。跨站点脚本攻击是一种服务器端的安全漏洞,常见于当把用户的输入作为HTML提交时,服务器端没有进行适当的过滤所致。跨站点脚本攻击可能引起泄漏Web 站点用户的敏感信息。为了降低跨站点脚本攻击的风险,微软公司的Internet Explorer 6 SP1引入了一项新的特性。
- 对于很多只依赖于cookie验证的网站来说,Http-only cookies是一个很好的解决方案,在支持Http-only cookies的浏览器中(IE6以上,FF3.0以上),Javascript是无法读取和修改Http-only cookies,这样可让网站用户验证更加安全
- Http-only的引入,就是从防止脚本读取Cookie的角度有效防御了XSS漏洞的攻击。
- Http-only字段,就是加在cookie身上的一个“护身符”。浏览器存在这种机制,只要cookie中含有Http-only字段,那么任何JavaScript脚本都没有权限读取这条cookie的内容。
设置http-only
修改setcookie方法参数
在setcookie方法的第七个传入参数中设置了变量TRUE,表示这个cookie具有HTTP-only属性
- 虽然XSS漏洞点依旧存在,但XSS的恶意利用脚本已无法获取到用户的Cookie,通过这种方法,网站成功保护了用户的Cookie信息免遭攻击者窃取
XSS防御
防御XSS攻击的思路方法有很多。我们常见的,如在用户输入和输出端加过滤,过滤掉某些特殊字符,从而避免恶意JavaScript脚本的运行。而Http-only,则是从另一角度考虑对XSS做防御,即使攻击者传进来的恶意JavaScript脚本得到运行,但我的用户cookie受到了保护,脚本无法读取cookie内容。这使得想利用XSS攻击窃取用户身份的想法化为泡影。在实战中,网站防御者们往往会综合利用到对字符做过滤和添加Http-only属性的方式,对抗XSS。








网友评论