This small perl script is a generic random remote fuzzer.
f4bddba1bc5967ea0646d047d5e4b798651d79d68b89137957542fd3a0fcb94b
#!/usr/bin/perl
# randfuzz.pl
# Jeremy Brown [0xjbrown41@gmail.com//jbrownsec.blogspot.com//krakowlabs.com] 12.14.2009
use IO::Socket;
use String::Random;
$filename = "fuzz.log";
$target = $ARGV[0];
$port = $ARGV[1];
$protocol = $ARGV[2];
$maxsize = $ARGV[3];
$random = 0;
if((!defined($target) || !defined($port) || !defined($protocol) || !defined($maxsize)))
{
print "usage: $0 <target> <port> <protocol> <maxsize>\n";
exit;
}
while(1)
{
$sock = IO::Socket::INET->new(Proto=>$protocol, PeerHost=>$target, PeerPort=>$port)
or logit();
$rand = new String::Random;
$random = $rand->randpattern("." x rand($maxsize)) . "\r\n\r\n";
$sock->send($random);
close($sock);
}
sub logit
{
if($random == 0)
{
print "connection failed to $target:$port/$protocol\n";
exit;
}
open(LOG, ">", $filename);
print LOG $random;
close(LOG);
exit;
}