![]() | ![]() | ![]() | Aufbau eines NASL Skripts |
Alle NASL-Skripte müssen gewissen Informationen enthalten, anhand derer das
Skript von anderen Skripten eindeutig unterschieden werden kann und mit denen
auf das Skript verwiesen werden kann. Diese Informationen sind im dem als
description oder register bezeichneten Teil des Skripts
enthalten, den alle Skripte enthalten müssen. Im Allgemeinen steht dieser Teil
am Beginn eines jeden NASL-Skripts.
Ein einfaches NASL-Skript könnte wie folgt beginnen:
#
# This is an example NASL script.
#
if(description)
{
script_oid("1.3.6.1.4.1.25623.1.0.12345")
script_version ("1.2");
name["english"] = "Foo Bar 2.5 vulnerability";
script_name(english:name["english"]);
desc["english"] = "
This plugin checks for the vulnerability in the Foo Bar 2.5 server
component as described in CVE 2009-4321.
Risk factor : None";
script_description(english:desc["english"]);
summary["english"] = "Check for vulnerability in Foo Bar 2.5";
script_summary(english:summary["english"]);
script_copyright(english:"This script is under GPLv2+");
...
exit(0);
}
...
Die Beschreibung des NVTs ist in dem Block if (description) enthalten,
der dem OpenVAS Server den Abruf dieser Informationen ermöglicht. Wenn der
Server einen neuen NVT zum ersten Mal einliest, wird das Skript aufgerufen,
während die globale Variable description auf TRUE (1) gesetzt
ist. Die Informationen, die das Skript liefert, werden vom Server in einem
Unterverzeichnis des NVT-Verzeichnisses namens .desc
zwischengespeichert. Wenn das Skript während eines Scans aufgerufen wird, ist
die globale Variable description auf FALSE (0) gesetzt.
Eine vollständige Liste aller NASL-Befehle, die in der Beschreibung eines Skriptes verwendet werden können, finden Sie in Abschnitt * der Dokumentation der NASL API.
![]() | ![]() | ![]() | Aufbau eines NASL Skripts |