首页 -> 安全研究

安全研究

安全漏洞
phpAdsNew/Postgres本地文件包含漏洞

发布日期:2005-08-19
更新日期:2005-08-19

受影响系统:
phpAdsNew phpAdsNew 2.0.5
phpPgAds phpPgAds 2.0.5
不受影响系统:
phpAdsNew phpAdsNew 2.0.6
phpPgAds phpPgAds 2.0.6
描述:
BUGTRAQ  ID: 14591

phpAdsNew是一款开发源码的广告服务程序,用于管理横幅广告。phpPgAds是用Postgres实现的phpAdsNew。

phpAdsNew和phpPgAds中存在本地文件包含漏洞。第一个漏洞存在于adlayer.php。

代码:

- -151-153---
phpAds_registerGlobal ('what', 'clientid', 'clientID', 'context',
'target', 'source', 'withtext', 'withText',
'layerstyle');
- -151-153---



- -178-182---
if (!isset($layerstyle) || empty($layerstyle)) $layerstyle = 'geocities';


// Include layerstyle
require(phpAds_path.'/libraries/layerstyles/'.$layerstyle.'/layerstyle.inc.php');
- -178-182---

没有正确的过滤$layerstyle变量,因此可以包含本地文件。

另一个漏洞存在于./admin/js-form.php。

代码:

- -26-28---
@include (phpAds_path.'/language/english/default.lang.php');
if ($HTTP_GET_VARS['language'] != 'english' && \
file_exists(phpAds_path.'/language/'.$HTTP_GET_VARS['language'].'/default.lang.php')) \
                @include \
                (phpAds_path.'/language/'.$HTTP_GET_VARS['language'].'/default.lang.ph \
                p');
- -26-28---

如果magic_quotes_gpc = Off的话,就可以执行攻击。

成功利用这些漏洞的攻击者可以远程执行任意代码。

<*来源:Maksymilian Arciemowicz (max@jestsuper.pl
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112431194004798&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://[HOST]/[DIR]/adlayer.php?layerstyle=../../../../../../../etc/passwd%00
http://[HOST]/[DIR]/admin/js-form.php?language=../../../../../../../../../../etc/passwd%00

建议:
厂商补丁:

phpAdsNew
---------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://phpadsnew.com/two/index.html

phpPgAds
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.phppgads.com/one/

浏览次数:3121
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障