作者guardlan (由夜)
看板PHP
标题[情报] PHP漏洞! 瘫痪网站服务...
时间Thu Feb 2 02:14:31 2012
上周不知道是太闲还是太无聊
就做了 yum update 的动作
发现 php 进行了更新!?
google了一下之後惊觉更新了严重的漏洞
最主要是多了 max_input_vars 这功能
大陆那边的翻译...
"通过构造Hash冲突实现各种语言的拒绝服务攻击"
类似 DDoS 来瘫痪网站
原文:
http://nikic.github.com/2011/12/28/Supercolliding-a-PHP-array.html
衍生攻击文章:
http://www.laruence.com/2011/12/29/2412.html
大意大概是说
PHP与大部分的程式语言在储存 key - value 值的时候
原本是利用对 key 做 hash 的动作并建立 hash table
正常的 key - value 应该会很平均的建立 hash code
但是恶意的 key - value 可以让 hash 後的结果全部指向同个 hash code
产生的方法在上面的原文内有提及
原文内说了正常的 65536 阵列只需 0.1 秒但是利用这种方式产生的 65536 的阵列则需要 30 秒...
且大量占用 CPU 时间
透过传送这种恶意的阵列给目标网站, 即可造成对方伺服器CPU满载, 进而瘫痪掉...
我自己也对我自己的网站测试了一下...
大概丢10次这种阵列给网站之後 网站就没回应了= ="
这攻击太容易使用了...而且没办法靠写程式的方式来防御...
所以有架站的各位~赶快将PHP升级吧!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.240.52.19
1F:→ gname:我佷好奇在什麽情况下会需要开到这麽大的值... 02/02 10:35
2F:推 LPH66:就是平常不需要才不容易注意 恶意攻击者可以硬塞 02/02 10:56
3F:推 mrbigmouth:这个攻击适用有一堆server语言... 02/02 13:25
4F:→ mrbigmouth:刚去看了一下 php的更新速度好像比node.js还慢...!? 02/02 13:25
5F:推 cjoe:WOW!!!! 02/02 22:11
6F:→ world9918:如果是租别人空间用的话只能等空间商升级php吧...= = 02/02 22:59
7F:推 takeya:谢谢告知... 02/03 00:16
8F:推 carlcarl:几个礼拜前有看到这个消息@@ 02/03 21:15
9F:推 hirabbitt:同一个值应该也有相同HASH值吧? 我是说 为什麽要用 02/09 14:34
10F:→ hirabbitt:0&0111111, 1000000&0111111 而不是0&0111111,0&0111111 02/09 14:34
11F:→ buganini:要missed才会继续跑啊 02/09 22:36