java+poodle漏洞修复_SSL POODLE漏洞修复
SSL POODLE漏洞修复
发布时间:2018-01-11 16:13:42
关于SSL POODLE漏洞
POODLE = Padding Oracle On Downgraded Legacy Encryption,是最新安全漏洞(CVE-2014-3566)的代号,俗称“贵兵犬”漏洞。 此漏洞是针对SSL3.0中CBC模式加密算法的一种padding oracle攻击,可以让攻击者获取SSL通信中的部分信息明文,如果将明文中的重要部分获取了,比如cookie,session,则信息的安全出现了隐患。
从本质上说,这是SSL设计上的缺陷,SSL先认证再加密是不安全的。
如何检测漏洞
应对措施:
禁用sslv3协议
不同的web server不尽相同。这边列举主流的服务器的禁用方式:Nginx
ssl_protocols TLSv1 TLSv1.1 TLSv1.2apache
SSLProtocol all -SSLv2 -SSLv3IIS
TomcatTomcat 5 and 6 (prior to 6.0.38)
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocols = "TLSv1,TLSv1.1,TLSv1.2" />Tomcat 6 (6.0.38 and later) and 7
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https"
secure="true"
clientAuth="false" sslEnabledProtocols =
"TLSv1,TLSv1.1,TLSv1.2" />使用apr的tomcat
maxThreads="150"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true"
SSLProtocol="TLSv1"
SSLCertificateFile="${catalina.base}/conf/localhost.crt"
SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />
其余不常见可以去对应的官方主页检索资料,对于这次的漏洞,有竞争力的组织一定会做出应对的更新。
SSL POODLE原理
0x01 细节
首先考虑这个明文HTTP请求,它分成了8字节的块,就像3DES加密,但是这个方法对16字节的AES块加密一样适用:
最后一个块里包含了7个字节的填充(padding),用·来表示,最后一个字节7是填充长度,我用了虚构的8字节MAC校验码。在传输前,这些数据都会被3DES或者AES加密。现在来回顾下CBC解密的过程,这张图来自wikipedia:
攻击者可以控制HTTP请求中的路径和主体,从而让请求的内容满足如下条件:
后面的padding填充部分填充了一整个block。
cookie的第一个字节正好在某个块的末尾的字节。
攻击者需要做的是把包含cookie第一个字节(出现在这个块的末尾,例如块中的内容是Cookie:a,a正好在8字节块的末尾)的那个块,替换padding的那个块发送给接收者(服务器)。
一般来说,服务器会拒绝这段密文,因为CBC校验失败了,攻击者需要重新发送,平均来说,每256个请求中有一个会被服务器接受,只要服务器接受了,根据CBC的解密过程,攻击者就知道了cookie的第一个字节(明文)的和上一个块最后一个字节的密文XOR后是7或者15(分别对应块长度8或16)。
作为中间人,我们可以看到任何一段密文,所以:
P XOR K = C
C XOR K = P
三个变量我们只要知道了两个就可以解密出另一个,所以Cookie第一字节XOR密文最后一个字节= 15。
我们只要把15 XOR密文最后一个字节就知道了cookie的第一个字节。
因为可以解密的窗口大小只有1字节(前面任意一个块的最后一个字节),所以需要通过js控制HTTP请求路径的长度,比如GET/, GET /A, GET /AA...把需要解密的cookie的位置逐渐顶到解密窗口中,每次解密一个字节平均需要256次请求,攻击者就可以用256*n次构造的请求来解密SSLv3中任意位置的明文。
这个漏洞的主要成因是因为SSLv3没有规定padding填充块字节的内容,只校验填充块最后一个字节,因为TLS会检查填充块的内容所以在TLS上同样的攻击方式成功率只有2^-64或者2^-128。
java+poodle漏洞修复_SSL POODLE漏洞修复相关推荐
- Spring Boot 多版本更新,紧急修复 RFD 安全漏洞
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | oschina.net/news/118693 ...
- 紧急:Spring框架被爆出存在0day级别远程命令执行漏洞。漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响。该漏洞目前无官方修复补丁
Spring框架被爆出存在0day级别远程命令执行漏洞.漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响. 漏洞信息和漏洞影响排查方法如下: 漏洞名称 ...
- 常见漏洞知识库(原理/场景/修复)
Jsonp漏洞 0x01 漏洞描述 1. 一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准. 2. 不过我 ...
- html 设置响应X-frame,X-Frame-Options(点击劫持)漏洞分析及web配置修复
漏洞描述: 点击劫持(ClickJacking)是一种视觉上的欺骗手段.攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在网页上进行操作,此时用户将在不知情的情况下点击透明的ifram ...
- Word控件Spire.Doc更新至最新版v10.7,增强产品稳定性,修复老版本漏洞
Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.致力于在于帮助开发人员轻松快捷高效地创建.编辑.转换和打印 Microsoft Word 文档,而无需安装 ...
- 漏洞介绍及修复建议(漏洞汇总,建议收藏后期会不断更新)
目录 未分类 Host 头攻击(高危) 域名访问限制不严格(高危) URL 重定向(中危) 会话劫持漏洞(中危) 会话固定漏洞(中危) DNS 域传送漏洞(中危) 检测到网站被黑痕迹(高危) 传输层保 ...
- Log4j2远程执行代码漏洞如何攻击? 又如何修复
Log4j2远程执行代码漏洞如何攻击? 又如何修复 12月9日晚,Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的 ...
- 全网连夜修复的Log4j漏洞,如何做到一行代码都不改?
GitHub 21.5k Star 的Java工程师成神之路,不来了解一下吗! GitHub 21.5k Star 的Java工程师成神之路,真的不来了解一下吗! Apache Log4j2 远程代码 ...
- 修复iis解析漏洞_修复典型的iis 10漏洞并进行安全审核
修复iis解析漏洞 You will generally be in good shape using IIS 10 to securely host websites, but there are ...
- 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复
20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...
最新文章
- javascript基础语法——变量和标识符
- 没登录网页也能个性化推荐?一文详解浏览器指纹
- 怎么部署_2020怎么部署新零售商城?
- python中要使用导入全部的是什么符号-在python格式字符串中使用标点符号
- 怎么把竖列中的数相加python_关于python中pandas.DataFrame对行与列求和及添加新行与列示例代码...
- uni-app插入本地背景图片不能超过40kb解决方法
- Thread.sleep(0)的意义
- 独家:为了永不停机的计算服务 - 四月月刊 | 凌云时刻
- php如何安装pdflib,使用pdflib及PHP生成pdf文件(文件内容中有中文)的方法
- 关于visio安装时出现出现回滚更改以至于安装失败的解决办法
- 129 爬虫 requests request 爬图片
- 期末排名算不算计算机成绩,智学网怎么看年级排名 智学网如何查看期末考试成绩...
- 关于ideal统计代码量 statistic插件
- iOS手势-UIGestureRecognizer
- 微信小程序开发工具整理代码快捷键
- Java POI:如何读取Excel单元格值而不是计算公式
- 微信小程序云开发完整案例
- OpenMVS+Win10+VS2019+vcpkg编译及问题
- 果粉黑诞生记——兼谈文件夹隐喻
- Linux下QT平台Mysql数据库开发环境配置