通过PHP的hash冲突漏洞进行DDoS攻击的解决办法
2012-01-07 09:55
561 查看
通过PHP的hash冲突漏洞进行DDoS攻击的解决办法
最近各语言爆hash碰撞漏洞。包含php,ruby,python,java各个语言。Microsoft的.net也受影响。
hash碰撞原理:
Hash,简单来讲,是一种将任意长度的输入变换成固定长度的输出,固定长度的输出在"实际应用场景"下可以代表该输入。Hash函数通常被翻译成散列函数。Hash通常用来校验信息的一致性。
Hash函数的实现多种多样,在安全领域应用最为广泛的是SHA-x系列和MDx系列。Hash函数也划分为带密钥的Hash函数和不带密钥的Hash函数,通常所说的Hash函数是不带密钥的Hash函数。这里对Hash算法的实现原理不做更多的探讨。
![](http://www.kanglesoft.com/bbs/data/attachment/forum/201201/07/0532032rtw225588l6ct1l.jpg)
由于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设置。点左边配置==>数据交换,出现如下界面。如图:
![](http://down.chinaz.com/upload/2012/1/6/20121615351781544.jpg)
最多POST参数,这里为了测试只写2,一般建议输入500,即可。使用本功能,一定要打开使用临时文件。否则无效。效果图:
最近各语言爆hash碰撞漏洞。包含php,ruby,python,java各个语言。Microsoft的.net也受影响。
hash碰撞原理:
Hash,简单来讲,是一种将任意长度的输入变换成固定长度的输出,固定长度的输出在"实际应用场景"下可以代表该输入。Hash函数通常被翻译成散列函数。Hash通常用来校验信息的一致性。
Hash函数的实现多种多样,在安全领域应用最为广泛的是SHA-x系列和MDx系列。Hash函数也划分为带密钥的Hash函数和不带密钥的Hash函数,通常所说的Hash函数是不带密钥的Hash函数。这里对Hash算法的实现原理不做更多的探讨。
![](http://www.kanglesoft.com/bbs/data/attachment/forum/201201/07/0532032rtw225588l6ct1l.jpg)
由于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设置。点左边配置==>数据交换,出现如下界面。如图:
![](http://down.chinaz.com/upload/2012/1/6/20121615351781544.jpg)
最多POST参数,这里为了测试只写2,一般建议输入500,即可。使用本功能,一定要打开使用临时文件。否则无效。效果图:
![](http://down.chinaz.com/upload/2012/1/6/20121615351817644.jpg)
相关文章推荐
- 通过PHP的hash冲突漏洞进行DDoS攻击
- 通过PHP的hash冲突漏洞进行DDoS攻击
- 通过PHP的hash冲突漏洞进行DDoS攻击
- PHP利用hash冲突漏洞进行DDoS攻击的方法分析
- Hash冲突的四种解决办法
- 包无法进行更新、相关性或冲突验证。 (Exception from HRESULT: 0x80073CF3)的解决办法
- 第6天:散列HASH(三)冲突解决办法之非线性再散列法
- 数据结构_Hash通过liner的方法解决冲突
- php 通过 create user 和grant 命令无法创建数据库用户和授权的解决办法
- AS3中通过单击不同按钮进行交换元件出现问题解决办法
- js中通过父级进行查找的解决办法
- Linux PHP拓展fileinfo编译不通过的解决办法
- php中session同ip不同端口的多个网站session冲突的解决办法
- 在xcode 6.4 中使用swift和object-c混合编程,同时通过cocoapods进行管理的一些问题和解决办法
- (转载)PHP 下 CURL 通过 POST 提交表单失败的原因之一与解决办法
- 通过findViewById()方法从layout中获取view并进行相应的转换时提示:"Cannot cast from View to AutoCompleteTextView"的解决办法!
- 某些App通过appium进行安装时安装测试时报Error: packageAndLaunchActivityFromManifest failed. Original error的解决办法
- Java1.7通过collections类的sort方法对ArrayList进行排序无效的解决办法。
- php多用户读写文件冲突的解决办法
- phpddos攻击的解决办法(服务器发外网发送大量数据包)