[ 高危 ] hash碰撞DOS漏洞
这是一个很神奇的漏洞
hotel.meituan.com订单页面,POST提交的是一串json数据。当把这串数据换成json碰撞数据 后,服务器原本 100毫秒可以响应的数据包,变成需要30秒才能响应完。
由此,只需要一个页面,不停地发送hash碰撞数据包,即可造成DOS,使服务器CPU达到100%而504报错。
评分:
高危 RMB 600
原理:
json字符串解析过程中,经过hashtable函数,转换成hash。而如果每一个json元素经过hashtable函数计算得到的值都一样,就有一个哈希冲突的问题。有的hashtable函数使用链地址法,导致一堆hash冲突的json丢过去的时候,性能极度降低,龟速运行,造成DOS。
通过反向推导不同语言的hashtable函数,可以计算hash碰撞数据。
检测:
扫描器在检测到POST数据为json形式的时候(GET有长度限制),将json数据替换成几种hash碰撞数据,一一尝试。如果响应时间与之前对比有大幅度提升,如几百毫秒变为几十秒,可能存在hash碰撞DOS漏洞。
修复:
过滤检测,但其实最好的是重写hashtable函数,也即发生冲突时的解决方法。
这种漏洞实在是有趣,做了javascript的hash碰撞代码(本质上就是两句话:建一个str参数;json解析。)
1. txt格式的代码,保存为html,本地打开即可测试。
http://huim.me/ftpuploads/hashCollisions.txt
2.已经保存为html的js代码,打开即食(注:消耗的是你的游览器资源,而不是我的博客的CPU,所以放心、大胆地打开,不用顾及我)。
http://huim.me/ftpuploads/hashCollisions.html
另外,附上一个有趣的东西
[ 参考 ]
一种高级的DoS攻击-Hash碰撞攻击 - BY - it2048我是大雄
Java Hash Collision之数据生产 - BY - it2048我是大雄
-841
[ 高危 ] hash碰撞DOS漏洞的更多相关文章
- Hash碰撞 & 拒绝服务漏洞
前段时间在网上看到的: http://www.baidu.com/s?wd=Hash%E7%A2%B0%E6%92%9E+++%E6%8B%92%E7%BB%9D%E6%9C%8D%E5%8A%A1% ...
- HashMap之Hash碰撞冲突解决方案及未来改进
说明:参考网上的两篇文章做了简单的总结,以备后查(http://blogread.cn/it/article/7191?f=wb ,http://it.deepinmind.com/%E6%80%A ...
- hash碰撞POC
hash碰撞POC: 该类型漏洞POC编写过程难点有二: 一. hash碰撞数据的产生或收集 二. 使用responseTime来判断是否存在hash,如何精确的得到 三. 如何估算出服务器的处理/响 ...
- Hash Collision DoS 问题
Hash Collision DoS 问题http://coolshell.cn/articles/6424.html Hash Collision DoS (Hash碰撞的拒绝式服务攻击),有恶意的 ...
- PHP DOS漏洞的新利用:CVE-2015-4024 Reviewed
1. 背景介绍 今天我们想从2015.04.03的一个PHP远程dos漏洞(CVE-2015-4024)说起.技术细节见如下链接,https://bugs.php.net/bug.php?id ...
- struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复
Struts2 被发现存在新的高危远程代码执行漏洞,可造成服务器被入侵,只要是Struts2版本 低于 2.3.14.3 全部存在此漏洞.目前官方已经发布了最新的版本进行修复.请将stru ...
- 解决Hash碰撞冲突方法总结
Hash碰撞冲突 我们知道,对象Hash的前提是实现equals()和hashCode()两个方法,那么HashCode()的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰 ...
- 记录php漏洞--宇宙最强语言 PHP 爆出 DoS 漏洞,可以直接灌满 CPU
站长之家(Chinaz.com)5月20日消息 近日,PHP被爆出存在远程DOS漏洞,若黑客利用该漏洞构造PoC发起连接,容易导致目标主机CPU被迅速消耗.此漏洞涉及众多PHP版本,因而影响范围极大 ...
- PHP多个版本爆出远程DOS漏洞
近日,php多个版本爆出远程DoS漏洞(官方编号69364),利用该漏洞构造poc发起链接,很容易导致目标主机cpu的100%占用率,绿盟科技威胁响应中心随即启动应急机制, 启动应急响应工作,总结PH ...
随机推荐
- 量化投资与Python
目录: 一.量化投资第三方相关模块 NumPy:数组批量计算 Pandas:表计算与数据分析 Matplotlib:图表绘制 二.IPython的介绍 IPython:和Python一样 三.如何使用 ...
- JSP 指令 脚本元素 表达式 声明
一.page指令 1. 可以使用page指令来控制JSP转换器转换当前JSP页 面的某些方面.例如,可以告诉JSP用于转换隐式对象 out的缓冲器的大小.内容类型,以及需要导入的Java 类型,等等. ...
- ShadingJdbc学习
可参考:https://blog.csdn.net/jadebai/article/details/86716082 https://blog.csdn.net/jadebai/article/det ...
- java 数据类型相关的内容
√基本数据默认值是:0 √ 引用类型是默认值:null 局部变量不能初始化 单精度浮点有后缀: Flong后面如果不加后缀L系统将默认为int类型 不管单精度还是双精度浮点,都比整数类型的范围大,原因 ...
- Java charAt() 方法
charAt() 方法用于返回指定索引处的字符.索引范围为从 0 到 length() - 1. 参数 index -- 字符的索引. 返回值 返回指定索引处的字符. 实例 public class ...
- k-近邻算法-优化约会网站的配对效果
KNN原理 1. 假设有一个带有标签的样本数据集(训练样本集),其中包含每条数据与所属分类的对应关系. 2. 输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较. a. 计算新 ...
- 支持向量机-SMO算法简化版
SMO:序列最小优化 SMO算法:将大优化问题分解为多个小优化问题来求解 SMO算法的目标是求出一系列的alpha和b,一旦求出这些alpha,就很容易计算出权重向量w,并得到分隔超平面 工作原理:每 ...
- 一个kubeadm.config文件--定义了token,扩展了默认端口,外部ETCD集群,自定义docker仓库,基于ipvs的kubeproxy
这个版本是基于kubeadm.k8s.io/v1alpha3的,如果到了beta1,可能还要变动呢. apiVersion: kubeadm.k8s.io/v1alpha3 kind: InitCon ...
- jmeter4.x centos7部署笔记
1. jmeter依赖 java8或以上版本 安装 java : 参考 https://tecadmin.net/install-java-8-on-centos-rhel-and-fedora/ ...
- MYSQL数据仓库infobright【备忘】
Infobright是一个基于MySQL开发的开源数据仓库(Data Warehouse)软件,可作为MySQL的一个存储引擎来使用,SELECT查询与普通MySQL无区别. 优点:查询性能高:百万. ...