Hash Collision DoS:由于java中的hash算法是非随机性的,会存在hash碰撞的问题。这样就可以利用这一弱点,来构造若干个value相同,但是key不相同的数据,这个时候hashMap就会退化为一个单向链表,使得在查询时计算复杂度由O(n)变为O(n*n),CPU负担加重,性能以指数级急剧下降。
影响:
一些应用服务器,比如tomcat在接收请求参数parameters时,是以一个hashMap来存储这些parameters的,Hash Collision DoS
这样就可以利用这一弱点进行攻击。
1.构造攻击数据:
字符串“Aa”和“BB”在java中的hashCode是一样的,就可以以这两个值为种子,构造若干条攻击数据,如:
"AAAA", "AABb", "BbAA", "BbBb"
或者
"AaAaAaAa", "AaAaBBBB", "AaAaAaBB", "AaAaBBAa","BBBBAaAa", "BBBBBBBB", "BBBBAaBB", "BBBBBBAa",
|
|
2.构造一个post请求,参数像这样的:AaAa=&AaBB=&BBAa=&BBBB=......,使得存放参数的hashMap成为一个庞大的单向链表
3.构造循环体,创建N个线程不断的提交请求
防御方法:
1.限制post的parameter参数数量。Tomcat6.035+的默认值是10,000
2.限制post请求的大小。比如将tomcat默认的2m减小为200kb
3.使用防火墙阻挡可疑的循环请求。
http://stackoverflow.com/questions/8669946/application-vulnerability-due-to-non-random-hash-functions
分享到:
相关推荐
Java实现的Hash Collision DoS Attack
NULL 博文链接:https://goodscript.iteye.com/blog/1338973
警惕Hash Collision Dos.pdf
莫尔斯电码哈希碰撞检测器这是什么? 这个小工具将相当于字母表中每个字母的二进制莫尔斯电码转换为一个数字。 这个数字可以用作表的索引。你为什么需要这个? 如果您正在尝试莫尔斯电码挑战,此工具会计算将二进制...
AHash 是目前 Rust中最快的、 抗 DOS 的哈希。AHash专门用于内存中的哈希映射。 AHash 的输出质量很高 因为AHash是keyed hash,每个map会产生完全不同的hash,不知道key是无法预测的。 这可以防止 DOS 攻击,其中...
MurmurHash算法由Austin Appleby创建于2008年,现已应用到Hadoop、libstdc 、nginx、libmemcached,Redis,Memcached,Cassandra,HBase,Lucene等开源系统。2011年Appleby被Google雇佣,随后Google推出其变种的...
uthash开源的hash函数实现,里面的uthash.h可用
内容描述:用于crypto中hash爆破的强大工具。 优势:相较于其他hash工具,具有更快的算力,使用方便简洁。 适用:适用于md5,sha256等典型hash加密方式,反推出所需的源码。
RS-Hash Function Value: " + ghl.RSHash(key)); System.out.println(" 2. JS-Hash Function Value: " + ghl.JSHash(key)); System.out.println(" 3. PJW-Hash Function Value: " + ghl.PJWHash(key)); System....
stm32f407平台上实现的hash算法
Hash在线解密平台最新版php实现纯txt存储哈希跟明文对应表查询
3维hashin失效准则~复合材料层合板
Hashcat is the self-proclaimed world's fastest password recovery tool. It had a proprietary code base until 2015, but is now released as free software. Versions are available for Linux, OS X, and ...
hashcat is the world’s fastest and most advanced password recovery tool. This version combines the previous CPU-based hashcat (now called hashcat-legacy) and GPU-based oclHashcat. Hashcat is ...
MD5 校验工具 Hash.exe 使用说明 Hash.exe 是一个 MD5 校验工具,由浪潮电子信息产业股份有限公司开发,用于确保发布的 FW 版本及下载使用版本的一致性。本文档将详细介绍 Hash.exe 工具的使用说明和详细步骤。 ...
在获取到mysql用户的hash后, 可用hash直接登陆mysql进行操作 比如我们注入出数据库的hash,但是没办法拿到webshell 我们可以使用mysql_hash,用hash登陆并控制数据库 使用方法: mysql_hash.exe -u root -p Enter ...
217种hashcat-V3.0所支持的哈希 举例,如md4、md5、sha1、sha256,部分特殊哈希的例子有官网说明的链接。
三维hashin失效准则,用于复合材料失效模拟
Hash函数集合,包含主流的hash函数: nginx_hash算法,OpenSSL_hash算法,RSHash,JSHash,PJWHash,ELFHash,BKDRHash,DJBHash,DEKHash,APHash等等!
uthash 是C的比较优秀的开源代码,它实现了常见的hash操作函数,例如查找、插入、删除等待。该套开源代码采用宏的方式实现hash函数的相关功能,支持C语言的任意数据结构最为key值,甚至可以采用多个值作为key,无论...