首页 网络安全 安全学院 查看内容

php5.2.3远程CGI缓冲溢出漏洞

2009-2-4 03:16 643 1

摘要: yuange http://hi.baidu.com/yuange1975 影响版本: php5.2.3不影响版本: 其它版本 php5.2.3在处理CGI的时候,由于一编程错误(缺少括号),错误...
关键词: path translated info env ptlen php 错误 版本 len strlen

yuange http://hi.baidu.com/yuange1975 影响版本: php5.2.3不影响版本: 其它版本 php5.2.3在处理CGI的时候,由于一编程错误(缺少括号),错误计算一字符串长度,导致堆缓冲溢出,可能远程执行任意代码。触发方式:配置.php到php.exe的CGI映射,请求GET /test.php/aa HTTP/1.1 错误发生在php-5.2.3\sapi\cgi\cgi-man.c line 886: int path_translated_len = ptlen + env_path_info ? strlen(env_path_info) : 0; 程序应该是 int path_translated_len = ptlen + (env_path_info ? strlen(env_path_info) : 0); 程序处理流程: main(){......init_request_info(TSRMLS_C);...... } static void init_request_info(TSRMLS_D){......int path_translated_len = ptlen + env_path_info ? strlen(env_path_info) : 0;......path_translated = (char *) emalloc(path_translated_len + 1);......if (env_path_info) {memcpy(path_translated + ptlen, env_path_info, path_translated_len - ptlen);} }  
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

返回顶部