NASL是一个专门为 Nessus 设计的脚本语言, 目的是让任何人在几分钟内就可以为一个安全漏洞编写出一个测试脚本,并且可以分享它而无需担心使用的是什么操作系统(跨平台),以及保证一个NASL脚本只会针对给定的目标测试而不会做其他一些恶心的事情。
因此, NASL允许你更容易的去组装或者发送特定的包。它提供了更方便的函数,使得编写测试WEB或者FTP服务器的脚本更加简单。
NASL不是一门强大的脚本语言。它的目的仅是编写安全测试脚本。所以,不要指望通过它能编写出一个WEB服务器或者一个文件转换工具。 如果你想编写这些程序,那么请使用perl,python或者其他脚本语言,他们编写起来的速度非常快。
NASL被设计出来的速度很快, 所以,如果你发现它在语法上有一些不合适的地方,请让 我 知道.
我知道,现在已经有一大堆很好的脚本语言,同他们相比,NASL看起来很弱。但是这些语言没有一门是真正安全的,在一些场景下,你用他们写出的测试脚本可能会成为一个木马以及连接到第三方主机,从而被发现你是一位Nessus用户,甚至邪恶的第三方主机会探测到你的目的主机名。更糟糕的是,这也会泄露你的密码文件或者任何其他文件。
这些脚本语言的另一个问题是:大部分都是内存饥渴症患者(形象的比喻)。为Nessus配置这些语言,也是一个头疼的问题。以Perl为例,Perl很好而且很优美(对部分人来说), 但是为了编写安全测试脚本,你需要花多长时间在安装所有需要的模块上了。Net::RawIP仅仅是其中的一个模块。
NASL, 从另一方面来说, 不会占用多大的内存。在256M内存之内就可以加载20个nessusd线程。而且NASL无需依赖其他的库, 自给自足,不需要为写一个新的测试脚本而安装一打的包:)
这本手册将教你如何用NASL去写安全测试脚本。这是我第一次尝试写一个完整的文档,所以可能会有些比较复杂的东西。