Strings
NASL provides a rich library for string manipulation. When scanning for vulnerabilities, outgoing requests and incoming responses contain data presented to NASL plug-ins as strings, so it is important to learn how to best utilize the available string API. This section discusses NASL-provided functions for pattern matching, simple string manipulation and conversion, and other miscellaneous string-related functions.
Simple string manipulation functions
The chomp()
function takes in a string as a
parameter and strips away any
carriage returns,
line feeds, tabs, or whitespace at the end of the string. For
example:
mystring='abcd \t\r\n';
display ('BEGIN',chomp(mystring),'END\n');displays BEGINabcdEND on one line.
The crap( )
function is used to fill a
buffer with repeated
occurrences of a specified string. The function takes in two
parameters, length and data.
The length parameter specifies the length of the
string to be returned, while the data parameter
specifies the string that should be used to fill the buffer. For
example, crap(length:10,data:'a') returns
aaaaaaaaaa. If data is not
specified, a default value of X is used.
To perform string concatenation, you can use the
strcat( ) function. This function also converts
given variables to strings when performing concatenation. The
following example causes the value of mystring to
be set to abcdefgh123:
string1="abcd"; string2="efgh"; number1=123; mystring=strcat(string1,string2,number1);
Finding and replacing strings
Many ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access