查看: 18|回覆: 0

[漏洞分析] php5.2.3远程CGI缓冲溢出漏洞

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-10-11
發表於 2008-10-8 20:03:56 | 顯示全部樓層 |閲讀模式
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);
} }
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部