[ 高危 ] 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 ...
随机推荐
- Confluence 6 配置 XSRF 保护
Confluence 需要一个 XSRF 令牌才能创建一个评论,这个被用来保护用户不在评论区恶意发布内容.所有 Confluence 自定义的主题都被启用了这个功能,但是如果你使用自定义主题的话,可能 ...
- ES6之Set与Map加深理解
Set 类似于数组,但是成员的值都是唯一的,没有重复的值,有序. Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化. 用途 数组去重: [...new ...
- nginx代理跨域(mac)
首先找到nginx.conf文件,修改并添加如下配置 html 文件 <!DOCTYPE html> <html lang="en"> <head&g ...
- 【python】python版本升级2.6.6到2.7.3(CentOS release 6.2)
一. 升级python到2.7.3 wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz tar -zxvf Python-2.7. ...
- java报错:The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
看包的路径是否对对:比如这样不对(...src/object/obietc) 其它解决方法转载: https://www.cnblogs.com/yadongliang/p/5918228.html ...
- Windows 系统共享文件扫描
近年来历次泄露的安全事故(工控安全),其主要原因就是内部网络自身的脆弱性问题.对于内部网络的安全检查是很必要的.传统上使用CMD命令 net view 就可以扫描在线的主机但是,主机设置取消QOS的 ...
- tinymce-vue富文本编辑器(翻译)
官方Tinymce Vue组件 翻译来自:https://github.com/tinymce/tinymce-vue 官方文档:https://www.tiny.cloud/docs/general ...
- Axure-----三级下拉菜单的具体实现过程
********三级下拉菜单的动画效果:********** 1.选中三级菜单将其转换为动态面板,命名为treePanel,并隐藏. 2.选中二级菜单添加交互效果:[切换可见性],勾选treePane ...
- json如果不在pom中添加依赖会抛出500异常
所以必须添加以下依赖: <!--jackson相关依赖--><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson ...
- 牛客寒假算法基础集训营4 I题 Applese 的回文串
链接:https://ac.nowcoder.com/acm/contest/330/I 来源:牛客网 自从 Applese 学会了字符串之后,精通各种字符串算法,比如--判断一个字符串是不是回文串. ...