PHP缓冲区溢出可能吗?

时间:2012-08-05 15:18:11

标签: php buffer-overflow

  

可能重复:
  How to conduct buffer overflow in PHP/Python?

当我进入这个时,我正在阅读this tutorial

  

缓冲区溢出攻击试图溢出PHP应用程序内部的内存分配缓冲区,或者更严重的是,在Apache或底层操作系统中。请记住,您可能正在使用PHP等高级语言来编写Web应用程序,但最终,您将调用C(在Apache的情况下)来执行工作。与大多数低级语言一样,C对内存分配有严格的规定。

什么?我知道PHP已经过错误检查,因此无法进行缓冲区溢出。我应该检查用户输入长度以避免太大的数据流量吗? 非常感谢你

3 个答案:

答案 0 :(得分:9)

是的,在current change log中有15个与之相关的错误修复:

  
      
  • 修正了错误#61807 apache_request_headers中的缓冲区溢出,CVE-2012-2329。
  •   
  • 修复了crypt()中overlog salt上的缓冲区溢出问题。 (ClémentLECIGNE,Stas
  •   
  • 修正了错误#60965(htmlspecialchars / entities上的缓冲区溢出,$ double = false)。
  •   
  • 修复了socket_connect()中的堆栈缓冲区溢出问题。 (CVE-2011-1938)由Mateusz Kocielski,Marek Kroemeke和Filip Palian发现。 (菲利普)
  •   
  • 修复了mysqlnd_list_fields,mysqlnd_change_user中可能存在的缓冲区溢出问题。 (安德烈)
  •   
  • 修复了在mysqlnd中处理错误包时可能出现的缓冲区溢出问题。 Stefan Esser报道。 (安德烈)
  •   
  • 修复了可能的去块过滤缓冲区溢出问题。 Stefan Esser报道。 (皮尔)
  •   
  • 修正了错误#42862(IMAP工具包崩溃:rfc822.c遗留例程缓冲区溢出)。 (修复CVE-2008-2829)(德米特里)
  •   
  • 修复了FastCGI SAPI中可能的堆栈缓冲区溢出问题。 (Andrei Nigmatulin)
  •   
  • 修复了fnmatch(),setlocale()和glob()函数的glibc实现中缓冲区溢出的可能触发问题。   Laurent Gaffie报道。
  •   
  • 修正了错误#42222(php_openssl_make_REQ中可能存在缓冲区溢出)。 (皮尔)
  •   
  • 修复了make_http_soap_request()中可远程触发的缓冲区溢出问题。 (IIIa)的
  •   
  • 修复了user_filter_factory_create()中的缓冲区溢出问题。 (IIIa)的
  •   
  • 修复了捆绑的libxmlrpc库中可远程触发的缓冲区溢出问题。 (STA)的
  •   

答案 1 :(得分:2)

当然,在调用使用C / C ++实际编写的函数时(可能是所有核心函数),都会发生这种情况。

我相信PHP提供的那些基本功能已经检查过缓冲区溢出等错误,但是在使用自定义扩展时你无法确定。

答案 2 :(得分:0)

当然'可能'。我更感兴趣的问题是你认为攻击向量是在哪里做的(一个upatched php bug等)。此外,我认为这是一个不太可能的利用目标比其他安全问题。