It appears many existing NASL scripts use string() to concatenate strings.
Just grep them for ``[^_]string\([^)]*,'' and you'll see. But this is
wrong! string() interprets escape sequences (namely \n) in its parameters,
ergo the result of

  x = "\n";
  y = string(x, x);

will be two newlines in y, not "\n\n". Fortunately, in most of the cases,
backslashes are quite unlikely to appear in the values being passed to
string(), nevertheless, there are some scripts where less or more serious
problems might happen--here is an incomplete list:

NDS_Object_Enum.nasl    X.nasl  bftpd_format_string.nasl
cisco_ssh_multiple_vulns.nasl   dcetest.nasl (*)
dns_xfer.nasl   ftp_glob_overflow.nasl  logins.nasl
netbios_name_get.nasl   silverstream_database.nasl
smb_enum_services.nasl  smb_reg_hklm.nasl       snmp_vacm.nasl
webmirror.nasl  smb_nt.inc

(*) dcetest.nasl is completely broken, I am rewriting it from the scratch

--Pavel Kankovsky aka Peak
"Welcome to the Czech Republic. Bring your own lifeboats."


-
[EMAIL PROTECTED]: general discussions about Nessus.
* To unsubscribe, send a mail to [EMAIL PROTECTED] with
"unsubscribe nessus" in the body.

Reply via email to