|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。 <P style="TEXT-INDENT: 2em">受影响体系:PHP PHP 5.2.0 <P style="TEXT-INDENT: 2em">不受影响体系:PHP PHP 5.2.1 <P style="TEXT-INDENT: 2em">描写:BUGTRAQ ID: 23238 <P style="TEXT-INDENT: 2em">PHP是普遍利用的通用目标剧本言语,出格合适于Web开辟,可嵌入到HTML中。PHP的内存办理器完成上存在破绽,当地进击者能够使用此破绽提拔权限。假如经由过程emalloc()函数分派内存的话,PHP中新的Zend内存办理器会在外部的_zend_mm_alloc_int()函数中处置这个恳求,起首利用ZEND_MM_TRUE_SIZE宏判别所恳求内存块的真实巨细,以下所示: <P style="TEXT-INDENT: 2em">- static void *_zend_mm_alloc_int(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ...) { size_t true_size, best_size = 0x7fffffff; zend_mm_free_block *p, *end, *best_fit = NULL; true_size = ZEND_MM_TRUE_SIZE(size); The macro expands to (((long)size<(long)ZEND_MM_MIN_SIZE)?(ZEND_MM_ALIGNED_MIN_HEADER_SIZE): (ZEND_MM_ALIGNED_SIZE(size+ZEND_MM_ALIGNED_HEADER_SIZE+END_MAGIC_SIZE)))
复制代码 但在停止对照之前这段代码将巨细设置为有符长型,因而假如恳求了正常情形下会招致内存损坏或越界的很大的内存块,便可能将其处置为正数,仅分派很小的内存块,招致多个可使用的缓冲区溢出。多个成员之间重复做相同的工作,很容易因为交流沟通的时候没有进行一致性的文档要求而出现不明错误,严重影响开发进度,导致在预定时间内无法完成该项目或者完成的项目跟原先计划所要实现的项目功能不符合。 |
|