建站极客
网络安全 漏洞分析 正文
PHP 5 php_sprintf_appendstring() 整数溢出漏洞
所属分类:
网络安全 / 漏洞分析
阅读数:
174
收藏 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
OpenBSD处理畸形的IPv6数据多个远程拒绝服务漏洞 受影响系统:
OpenBSD OpenBSD 4.2
OpenBSD OpenBSD 4.1
描述:
OpenBSD是一款开放源代码Unix类操作系统。
OpenBSD处理畸形的IPv6数据时存在漏洞,远程攻击者可能利用此漏洞导致内核忙碌。
评论 0
收藏 0
赞 0
分享
PunBB口令重置弱随机数绕过安全限制漏洞 PunBB是一款基于PHP的论坛程序。
PunBB的口令重置功能实现上存在漏洞,远程攻击者可能利用此漏洞在特定条件重置用户的口令。
如果用户忘记了口令的话,可使用PunBB的口令重置功能重置。在请求口令重置后,论坛会向用户发送一封邮件,包含有一个新的随机口令以及激
评论 0
收藏 0
赞 0
分享
Apple iPhoto 存在订阅远程格式串处理漏洞 受影响系统:
Apple iPhoto '08 7.1
不受影响系统:
Apple iPhoto 7.1.2
描述:
----------------------------------------------
评论 0
收藏 0
赞 0
分享
BBSXP绕过过滤继续注入漏洞分析 漏洞分析:
官方最新过滤函数HTMLEncode,这次过滤了字符* ,再一次绕过过滤注射
Function HTMLEncode(fString)
fString=Replace(fString,CHR(9),"")
fString=Repla
评论 0
收藏 0
赞 0
分享
新云CMS Online.asp页面过滤不严导致SQL注入漏洞 受影响系统:
最新版本
漏洞文件:
/inc/online.asp
代码分析如下:
OnlineSQL = "INSERT INTO NC_Online(id,ChannelID,username,identitys,station,ip
评论 0
收藏 0
赞 0
分享
CA BrightStor ARCserve Backup 存漏洞 受影响系统:
Computer Associates BrightStor ARCserve Backup 11.5.2.0 (SP2)
描述:
----------------------------------------------------------
评论 0
收藏 0
赞 0
分享
查看更多