当前位置: 首页 > news >正文

XSS与HTTP-only Cookie 脚本获取JSESSIONID的方法

XSS与HTTP-only Cookie介绍:

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。跨站点脚本攻击是一种服务器端的安全漏洞,常见于当把用户的输入作为HTML提交时,服务器端没有进行适当的过滤所致。跨站点脚本攻击可能引起泄漏Web 站点用户的敏感信息。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。

为了降低跨站点脚本攻击的风险,微软公司的Internet Explorer 6 SP1引入了一项新的特性HTTP-only。 这个特性是为Cookie提供了一个新属性,用以阻止客户端脚本访问Cookie。

像这样具有该属性的cookie被称为HTTP-only Cookie。包含在HTTP-only Cookie中的任何信息暴露给黑客或者恶意网站的几率将会大大降低。

Secure和HttpOnly:

Secure属性:

当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。

HttpOnly属性:

如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。

在Java的Web容器中设置该属性:

在Java的web应用里,我们要保护的有JSESSIONID这个cookie,因为类似于tomact的容器就是用这个cookie来辨别你的服务器端会话的。所以这个cookie是不应该由客户端脚本来操作的,它很适合用HttpOnly来标识它。

在tomcat6之前只能按照如下方法设置HttpOnly:

String sessionid = request.getSession().getId();
response.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; HttpOnly");

对于tomcat6支持对JSESSIONID的cookie设置HttpOnly, 具体的设置是在context.xml配置文件中进行设置的,为Context标签添加如下属性即可开启或禁止HttpOnly:

<Context useHttpOnly="false">

详细的官方配置文档可以参考这里:

http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

原文链接: http://www.itzhai.com/xss-script-with-http-only-cookie-jsessionid-way-to-get.html

相关文章:

  • DNS 安全信息 (微软)
  • DNS安全 -月宫吴刚
  • ldap 身份验证的通用步骤
  • Openssl多个安全补丁简易分析危害及修复方案
  • Redhat Linux 安全设置脚本
  • nginx中shell脚本封锁采集IP地址
  • Apache和Tomcat限制文件访问或下载
  • Postgresql默认用户名与密码
  • Oracle default SID list
  • Apache服务器禁用TRACE Method防范XSS跨站攻击
  • 网页自适应不同浏览设备的方法
  • 网站降权了魔术收录法帮你恢复收录
  • phpmyadmin加载缓慢的终极解决方法
  • 网页CSS常用英文命名说明
  • linux下mysql命令大全 整理
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • interface和setter,getter
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • web标准化(下)
  • windows下mongoDB的环境配置
  • 字符串匹配基础上
  • 自定义函数
  • Mac 上flink的安装与启动
  • %@ page import=%的用法
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (6)STL算法之转换
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (力扣题库)跳跃游戏II(c++)
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十三)Maven插件解析运行机制
  • *上位机的定义
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET6实现破解Modbus poll点表配置文件
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @NestedConfigurationProperty 注解用法
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [20190113]四校联考
  • [2669]2-2 Time类的定义
  • [Assignment] C++1
  • [Bada开发]初步入口函数介绍
  • [C#7] 1.Tuples(元组)
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [C/C++] -- 二叉树
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [codeforces] 25E Test || hash
  • [C语言]——柔性数组
  • [Grafana]ES数据源Alert告警发送