首页
社区
课程
招聘
[下载]PHP hash碰撞DOS攻击payload下载
发表于: 2012-1-17 19:40 5180

[下载]PHP hash碰撞DOS攻击payload下载

2012-1-17 19:40
5180
2011年年末,PHP, ASP.NET等各个web服务器都爆出hash碰撞造成的DOS攻击CVE-2011-4885。
具体原理性的东西参考这里,英文的:
750K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4@1j5h3y4C8L8%4k6W2M7X3k6D9L8%4N6Q4x3X3g2U0L8$3#2Q4x3V1k6I4N6h3g2K6N6r3W2G2L8Y4y4Q4x3V1j5^5y4U0j5&6z5e0b7$3i4K6u0r3j5i4m8H3L8r3W2U0j5i4c8A6L8$3&6Q4x3X3c8$3N6h3I4F1k6i4u0S2j5X3W2D9K9i4c8&6i4K6u0V1k6s2g2W2i4K6u0V1N6r3!0Q4x3X3c8F1L8$3&6Q4x3X3c8J5j5h3&6V1L8$3#2Q4x3X3c8Z5j5i4y4Z5i4K6u0V1k6Y4g2F1j5%4c8A6L8$3&6K6
这个是中文中描述的比较全面的文章:
401K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4F1j5X3I4G2k6%4y4Q4x3X3g2U0L8$3#2Q4x3V1k6^5N6h3q4F1K9s2g2F1i4K6u0r3j5i4u0U0K9r3W2$3k6g2)9J5c8U0t1H3x3e0u0Q4x3V1j5H3x3g2)9J5c8U0l9I4i4K6u0r3x3U0x3H3z5e0f1%4x3g2)9J5k6h3S2@1L8h3H3`.

原理弄懂了以后就知道,攻击的关键是找到hash值相同的key。事实上找hash相同的key是很容易的。hash值的取值范围是0到2^32。所以只要尝试2^32+1个key就必然能找到2个key的hash值是相同的(鸽笼原理)。
暴力的找hash碰撞的方法:使用1到254的字符构造长度为5的key。254约等于2^8,所以这种方法能构造出(2^8)^5个key。(2^8)^5远远大于2^32,可以轻易到hash相同的key。写个小程序在一分钟之内就能找到很多hash相同的key。

这些hash函数还有这样的特性:
如果hash(ab)=hash(ac),那么hash(ab123)=hash(ac123).
上面的结果明显成立,也就是说只要找到一对hash相同的key,就可以构造出任意多hash相同的key。
将得到的key URL编码成如同ab=&ac=&,%ce%ee=&%ce%ef=&这样的形式,然后post到web服务器上。PHP默认一次最大接受8M的POST数据。附件是适用于PHP的编码好的POST数据,可以直接读出用于测试或攻击。数据比较多,可以根据需要,要多少读多少。

这篇文章中说:
2a8K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3&6J5N6h3&6K6i4K6u0W2j5$3!0E0i4K6u0r3i4K6g2X3k6r3!0%4L8X3I4G2j5h3c8K6i4K6u0r3j5h3c8$3K9i4y4G2M7Y4V1J5z5o6p5J5x3U0l9I4x3g2)9J5k6i4m8V1k6R3`.`.
理论上POST数据中如果包含了8M的hash碰撞key,将消耗i7的CPU 4个小时的时间。

本文章只是技术讨论,除了实验以为请不要用于真正的攻击。

防范:
各个服务器都有相关的配置文件,在配置文件中可以限制POST数据的最大长度,一次POST的参数个数,CPU使用时间等等。

[ATTACH]Payload下载[/ATTACH]

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
能否说说详细的防范措施
2012-1-17 22:03
0
雪    币: 248
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
喜欢......
2012-1-17 22:47
0
雪    币: 324
活跃值: (113)
能力值: ( LV15,RANK:280 )
在线值:
发帖
回帖
粉丝
4
实验过的朋友可能发现,这个DOS会造成服务CPU利用率100%,但是某些服务器依然能正常响应HTTP请求。原因我目前还没找到,这可能与apache或者php的配置有关。望知道答案的大牛解释。
2012-2-25 13:34
0
雪    币: 435
活跃值: (1422)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
5
同问,实验的时候cpu 100,但是照样能处理http请求
2012-2-25 13:37
0
雪    币: 324
活跃值: (113)
能力值: ( LV15,RANK:280 )
在线值:
发帖
回帖
粉丝
6
马上贴个能让服务器失去响应的DOS
2012-2-25 13:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好文。收藏了。
2012-5-21 11:03
0
雪    币: 560
活跃值: (1174)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个包 用什么来使用?
2013-6-30 16:08
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这样也行(⊙_⊙)
2013-6-30 22:51
0
游客
登录 | 注册 方可回帖
返回