最近各语言爆hash碰撞漏洞。包含php,ruby,python,java各个语言。Microsoft的.net也受影响。 

hash碰撞原理: 

Hash,简单来讲,是一种将任意长度的输入变换成固定长度的输出,固定长度的输出在"实际应用场景"下可以代表该输入。Hash函数通常被翻译成散列函数。Hash通常用来校验信息的一致性。 

Hash函数的实现多种多样,在安全领域应用最为广泛的是SHA-x系列和MDx系列。Hash函数也划分为带密钥的Hash函数和不带密钥的Hash函数,通常所说的Hash函数是不带密钥的Hash函数。这里对Hash算法的实现原理不做更多的探讨。 

通过PHP的hash冲突漏洞进行DDoS攻击的解决办法

 
由于Hash固定长度输出的特性,必然会存在多个不同输入产生相同输出的情况。如果两个输入串的hash函数的值一样,则称这两个串是一个碰撞(Collision)。在理论范围内,存在一个输出串对应无穷多个输入串,所以碰撞具有其必然性。 

如果找到碰撞,那么意味着我们可以破坏信息的一致性而不被接收方察觉,搜寻指定输入的Hash碰撞值的过程被称作"Hash破解"。这里需要说明的 是,Hash函数必须是不可逆的,所以不存在从散列值到原始输入的破解(这里不包括暴力破解,使用彩虹表是暴力破解的最佳方式,但是仍然无法保证破解到的 数据是原始数据)。设计不良的Hash算法,很容易让人找到碰撞值。 

kangle web服务器 是一款跨平台、功能强大、安全稳定、易操作的、高性能的、国产开源的web服务器和反向代理服务器软件。简称:kangle 
除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、asp.net、java、ruby等多种动态开发语言。 

kangle 2.7.5新增一个最大post参数,轻松防住这个漏洞。进入kangle管理后台3311设置。点左边配置==>数据交换,出现如下界面。如图: 

\

最多POST参数,这里为了测试只写2,一般建议输入500,即可。使用本功能,一定要打开使用临时文件。否则无效。效果图: 

\