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
标题中的“Hash Collision DoS漏洞:web实例”指的是在Web应用程序中出现的一种安全问题,即哈希碰撞拒绝服务攻击(Hash Collision Denial of Service)。这种攻击利用了哈希表(Hash Table)数据结构的特性,当两个...
【警惕Hash Collision Dos】这篇文档主要讨论了一种名为“Hash Collision Dos”的网络安全威胁,这种攻击方式利用了哈希表(HashTable)的冲突特性对Web服务器进行拒绝服务(Denial of Service,DoS)攻击。...
莫尔斯电码哈希碰撞检测器这是什么? 这个小工具将相当于字母表中每个字母的二进制莫尔斯电码转换为一个数字。 这个数字可以用作表的索引。你为什么需要这个? 如果您正在尝试莫尔斯电码挑战,此工具会计算将二进制...
AHash 是目前 Rust中最快的、 抗 DOS 的哈希。AHash专门用于内存中的哈希映射。 AHash 的输出质量很高 因为AHash是keyed hash,每个map会产生完全不同的hash,不知道key是无法预测的。 这可以防止 DOS 攻击,其中...
标题中的"HASHIN.rar_ABAQUS_Hashin失效准则 abaqus_abaqus hashin_abaqus 三维Hashi"表明这是一个关于ABAQUS软件中应用Hashin失效准则进行三维分析的示例或教程。ABAQUS是一款广泛应用的有限元分析软件,尤其在结构...
在复合材料领域,Hashin失效准则是一个非常重要的理论模型,尤其在分析三维层合板的强度和稳定性时。Hashin准则由Stanley Hashin在20世纪60年代提出,用于预测多向复合材料的破坏行为。这个准则考虑了内部微裂纹的...
**三维Hashin失效准则详解** 在复合材料领域,失效分析是至关重要的,它关系到材料的性能预测和结构安全。Hashin失效准则是一种广泛应用的多向复合材料失效理论,由Shlomo Hashin于1962年提出,主要用于评估多向受...
UTHASH 是一个开源的 C 语言库,提供了一种简单且高效的哈希表实现,用于在 C 代码中快速查找和管理数据结构。这个库的主要功能是提供一个宏定义的集合,可以方便地将结构体转化为哈希表,进而进行添加、删除、查找...
标题 "UMAT_Hashin3D_hashin" 指涉的是一个专门针对复合材料损伤分析的三维子程序,该程序基于Hashin破坏准则。在有限元分析(FEA)中,用户自定义材料(User-Defined Material,UMAT)是实现特定材料行为建模的一种...
在IT领域,Hash值是一种广泛使用的数据校验方式,它能够为任何大小的文件生成一个固定长度的唯一标识,这个标识通常称为哈希值或散列值。Hash值查看及修改软件,如"Hash_1.0.4_0523.exe"和"HashModifier.exe",是...
本文档收集了前端大厂最新面试题的 Hash Table 相关知识点,涵盖 Hash Table 的基本概念、 ハッシュ関数、 Collision 解决方法、Hash Table 的实现和应用等方面。 一、Hash Table 基本概念 * Hash Table 是一种...
MurmurHash算法由Austin Appleby创建于2008年,现已应用到Hadoop、libstdc 、nginx、libmemcached,Redis,Memcached,Cassandra,HBase,Lucene等开源系统。2011年Appleby被Google雇佣,随后Google推出其变种的...
在IT行业中,尤其是在模拟仿真和材料科学领域,Hashin失效准则是一种广泛应用的理论,用于预测多相复合材料的破坏行为。VUMAT(User-Defined Viscoplasticity and Damage Material Subroutine)是ABAQUS软件中的一个...
在IT行业中,尤其是在科学计算和工程模拟领域,Hashin失效准则和VUMAT(User-Defined Material subroutine for Nonlinear Analysis in ABAQUS)是两个非常重要的概念。这两个概念主要应用于复合材料、土木工程等领域...
内容描述:用于crypto中hash爆破的强大工具。 优势:相较于其他hash工具,具有更快的算力,使用方便简洁。 适用:适用于md5,sha256等典型hash加密方式,反推出所需的源码。
在STM32F407上实现的哈希(Hash)算法是数字签名、数据完整性验证等安全应用中的关键组成部分。哈希算法能够将任意长度的输入数据转化为固定长度的输出,通常称为哈希值或消息摘要。 哈希算法的主要特性包括: 1. *...
2. `geohash-demo.js`:包含`GEOHASH`的JavaScript实现代码,可能包括编码、解码以及相邻`GEOHASH`的计算功能。 3. `labeledmarker.js`:可能是一个辅助库,用于在地图上绘制带有标签的标记,用于展示`GEOHASH`对应...
uthash 是C的比较优秀的开源代码,它实现了常见的hash操作函数,例如查找、插入、删除等待。该套开源代码采用宏的方式实现hash函数的相关功能,支持C语言的任意数据结构最为key值,甚至可以采用多个值作为key,无论...
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....