建站极客  
                        网络安全                          漏洞分析                          正文 
                     
                 
                
                    PHP 5 php_sprintf_appendstring() 整数溢出漏洞                 
                
                    所属分类:
                        网络安全  / 漏洞分析                      
                    阅读数:
                        90 
                    
                        
                                 
                             收藏 0
                                 
                             赞 0
                                 
                             分享 
                    
                 
                
                    受影响系统: 
 PHP PHP 5.2.5 
 
 描述: 
 PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 
 
 PHP formatted_print.c文件的*printf()函数存在整数溢出漏洞,能够执行PHP脚本的攻击者可能利用此漏洞提升权限。 
 
 在formatted_print.c文件的php_sprintf_appendstring()函数中: 
 
 - ---formatted_print.c-start--- 
 inline static void 
 php_sprintf_appendstring(char **buffer, int *pos, int *size, char *add, 
                            int min_width, int max_width, char padding, 
                            int alignment, int len, int neg, int expprec, int always_sign) 
 - ---formatted_print.c-end--- 
 
 主变量为npad。 
 
 - ---formatted_print.c-start--- 
     copy_len = (expprec ? MIN(max_width, len) : len); 
     npad = min_width - copy_len; 
 - ---formatted_print.c-end--- 
 
 这里npad为2147483646。 
 
 - ---formatted_print.c-start--- 
     req_size = *pos   MAX(min_width, copy_len)   1; 
 - ---formatted_print.c-end--- 
 
     req_size overflow 
 
 - ---formatted_print.c-start--- 
     if (req_size > *size) { 
         while (req_size > *size) { 
             *size <<= 1; 
         } 
         PRINTF_DEBUG(("sprintf ereallocing buffer to %d bytes\n", *size)); 
         *buffer = erealloc(*buffer, *size); 
     } 
 - ---formatted_print.c-end--- 
 
 (req_size > *size)为False,(alignment == ALIGN_RIGHT)为True,因此 
 
 - ---formatted_print.c-start--- 
         while (npad-- > 0) { 
             (*buffer)[(*pos)  ] = padding; 
         } 
 - ---formatted_print.c-end--- 
 
 gdb调试结果如下: 
 
 - --- Debug --- 
 0x08295ba5 in php_sprintf_appendstring (buffer=0xbfbfd318, pos=0xbfbfd31c,  
     size=0xbfbfd324, add=0x28f20404 ’A’ <repeats 200 times>...,  
     min_width=2147483646, max_width=0, padding=65 ’A’, alignment=1, len=1,  
     neg=0, expprec=0, always_sign=0) 
 
 ... 
 
 0x290fff0c:      ’A’ <repeats 200 times>... 
 0x290fffd4:      ’A’ <repeats 44 times> <Error reading address 0x29100000: Bad \ 
                 address> 
 0x29100000:      <Error reading address 0x29100000: Bad address> 
 - --- Debug --- 
 
 脚本会向内存分配大量数据,导致拒绝服务或执行任意指令。 
 
 厂商补丁: 
 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: 
 
 http://cvs.php.net/viewvc.cgi/php-src/NEWS?revision=1.2027.2.547.2.1120&view=markup 
                                     
             
            
                
                2007年12月网络安全漏洞总结  声明:本十大安全漏洞由NSFOCUS安全小组根据安全漏洞的严重程度、影响范围等因素综合评出,仅供参考
  1.2007-12-11 Microsoft消息队列服务栈溢出漏洞
  综述:
  Microsoft Windows是微软发布的非常流行的操
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
OmniPCX Enterprise存在远程命令注入漏洞 受影响系统:  
Alcatel-Lucent OmniPCX Enterprise <= 7.1  
不受影响系统:  
Alcatel-Lucent OmniPCX Enterprise 7.1 patch F5.401.19  
Alcatel-Luc
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
Sun Java jpiexp32.dll对象名称含空指针引用漏洞 受影响系统: 
Sun JRE < 5.0 Update 14 
不受影响系统: 
Sun JRE 5.0 Update 14 
描述: 
Solaris系统的Java运行时环境(JRE)为JAVA应用程序提供可靠的运行环境。  
JRE处理畸
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
InterBase和Firebird远程栈缓冲区溢出漏洞 受影响系统: 
Borland InterBase WI-V8.1.0.257 
Borland InterBase WI-V8.0.0.123 
Borland InterBase WI-V7.5.1.80 
Borland InterB
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
IE 存在document.open()方式地址欺骗漏洞 受影响系统: 
Microsoft Internet Explorer 7.0 
Microsoft Internet Explorer 6.0 SP1 
Microsoft Internet Explorer 6.0 
Microsoft
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
Microsoft IE onunload事件地址栏欺骗漏洞 受影响系统: 
Microsoft Internet Explorer 7.0 
Microsoft Internet Explorer 6.0 SP1 
Microsoft Internet Explorer 6.0 
Microsoft Internet Ex
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
F2blog XMLRPC 上传任意文件漏洞 刚从官方下载的最新版:F2blog-v1.2_build_03.01_full
存在漏洞文件:xmlrpc.php,
影响:可上传任意文件到服务器。
原理:get_http_raw_post_data()是获取最原始的传递过来的数据,也是说不会因为PHP环境的ma
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
FTP客户端目录遍历漏洞可向任意位置写文件 FFFTP是一款小型的FTP客户端软件。FFFTP客户端没有正确地验证FTP服务器所返回的LIST命令响应中包含有目录遍历序列(斜线)的文件名,如果用户受骗从恶意的FTP服务器下载的目录包含有带有恶意文件名的文件的话,就可能导致向用户系统的任意位置写入文件。  
    受影
                    评论 0 
                    
                         
                     收藏 0
                         
                     赞 0
                         
                     分享
                 查看更多