#!/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 \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; }