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%E6%BC%8F%E6%B4%9E+&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&n=2&inputT=1594

这样的函数有个特点,即如果字符串X, Y的hash值相同,那么X,Y都添加任意相同的前缀或后缀的以后的hash值也都相同.比如: "rQ"与 "qp"的hash值相同, 则"rQrQ", "rQqp", "qprQ", "qpqp" 这四个也相同,继续这个模式就可以很容易构造出 2^n 个 2*n长度的不同字。

package test;

import java.util.HashMap;

public class Test
{

public static void main(String[] args)
 {
  String a = "rQ";
  String b = "qp";
  
  HashMap<String,String> map = new HashMap<String,String>();
  map.put(a, "1");
  map.put(b, "2");
  
  System.out.println(a.hashCode());
  System.out.println(b.hashCode());
  
  System.out.println(map.get(a));
  System.out.println(map.get(b));
 }

}

输出结果:

3615
3615
1
2

2012-02-03

时间: 2024-11-12 01:44:22

Hash碰撞 & 拒绝服务漏洞的相关文章

HashMap之Hash碰撞冲突解决方案及未来改进

说明:参考网上的两篇文章做了简单的总结,以备后查(http://blogread.cn/it/article/7191?f=wb  ,http://it.deepinmind.com/%E6%80%A7%E8%83%BD/2014/04/24/hashmap-performance-in-java-8.html) 1.HashMap位置决定与存储 通过前面的源码分析可知,HashMap 采用一种所谓的“Hash 算法”来决定每个元素的存储位置.当程序执行put(String,Obect)方法 时

hash碰撞POC

hash碰撞POC: 该类型漏洞POC编写过程难点有二: 一. hash碰撞数据的产生或收集 二. 使用responseTime来判断是否存在hash,如何精确的得到 三. 如何估算出服务器的处理/响应时间,以用来判断是否存在漏洞. github能找到hash碰撞的POC,使用python编写的 该POC生成hashcollision的算法思想: 1. 取一个随机数n,由n生成 k维的笛卡尔积 可以理解为k维的数组,如array[AA][BB][CC],计算后为"AABBCC" 2.

CVE-2017-0004相关lsass拒绝服务漏洞杂谈

昨天微软更新的补丁对lsass服务中的一处拒绝服务漏洞进行了修补,由于是远程拒绝服务漏洞遂决定看看(毕竟这种类型的这十几年也没出几个).补丁解压之后可以发现这次更新修改了大量的dll(可以用expand.exe,原因么,用了就知道哈哈),lsass.exe本身没有修改 可能是运气好吧,我当时直接选了lsasrv这个dll,事实证明运气不错. 可以看到这个dll是本地密码相关的动态链接库. 通过binbiff对比可以发现确实有不少修改的地方. 因此昨天都在看这个dll的补丁对比,当时找到一些可疑的

Cisco IOS拒绝服务漏洞 -中国寒龙出品

受影响系统:Cisco IOS 15.x描述:--------------------------------------------------------------------------------BUGTRAQ ID: 70129CVE(CAN) ID: CVE-2014-3361 Cisco IOS是多数思科系统路由器和网络交换机上使用的互联网络操作系统. Cisco IOS 15.0, 15.1, 15.2, 15.4没有正确通过NAT实现SIP,在实现上存在远程拒绝服务漏洞,攻击

从头认识java-15.7 Map(4)-介绍HashMap的工作原理-hash碰撞(经常作为面试题)

这一章节我们来讨论一下hash碰撞. 1.什么是hash碰撞? 就是两个对象的key的hashcode是一样的,这个时候怎么get他的value呢? 答案是通过equals遍历table那个位置上面的Entry链表. 2.例子 正常的例子: package com.ray.ch14; import java.util.HashMap; public class Test { public static void main(String[] args) { HashMap<Person, Dog>

Juniper JunosE拒绝服务漏洞 -中国寒龙

受影响系统:Juniper Networks JUNOSe描述:--------------------------------------------------------------------------------BUGTRAQ ID: 70369CVE(CAN) ID: CVE-2014-6380 JunosE是用在Juniper E系列路由器内的操作系统. Juniper JunosE处理构造的碎片数据包时存在拒绝服务漏洞,可导致FPC重置或断网. <*来源:vendor*> 建

Cisco IOS及IOS XE Software多个DNS拒绝服务漏洞 -中国寒龙

受影响系统:Cisco IOS 15.xCisco IOS XE 3.x描述:--------------------------------------------------------------------------------BUGTRAQ ID: 70132CVE(CAN) ID: CVE-2014-3357 Cisco IOS是多数思科系统路由器和网络交换机上使用的互联网络操作系统. Cisco IOS 15.0, 15.1, 15.2, 15.4.IOS XE 3.3.xSE,

Android应用安全之Android APP通用型拒绝服务漏洞

0xr0ot和Xbalien交流所有可能导致应用拒绝服务的异常类型时,发现了一处通用的本地拒绝服务漏洞.该通用型本地拒绝服务可以造成大面积的app拒绝服务. 针对序列化对象而出现的拒绝服务主要是由于应用中使用了getSerializableExtra() 的API,由于应用开发者没有对传入的数据做异常判断,恶意应用可以通过传入畸形数据,导致应用本地拒绝服务.漏洞应用代码片段: Intent i = getIntent(); if(i.getAction().equals("serializabl

【修复】PHP multipart/form-data头部解析远程拒绝服务漏洞

PHP multipart/form-data头部解析远程拒绝服务漏洞 受影响的软件及系统:====================PHP 5.0.0 - 5.0.5PHP 5.1.0 - 5.1.6PHP 5.2.0 - 5.2.17PHP 5.3.0 - 5.3.29PHP 5.4.0 - 5.4.40PHP 5.5.0 - 5.5.24PHP 5.6.0 - 5.6.8 未受影响的软件及系统:======================PHP 5.4.41PHP 5.5.25 PHP 5.