[摘要]’: case ’&’: case ’;’: case ’(’: case ’)’: case ’ case ’>’: case ’\’’: case ’"’: cas...
’: case ’&’: case ’;’: case ’(’: case ’)’: case ’<’: >’: >
case ’>’: case ’\’’: case ’"’: case ’*’: case ’?’: case ’\\’:
case ’[’: case ’]’: case ’$’: case ’!’: case ’#’: case ’;’:
case ’`’: case ’{’: case ’}’:
new[j] = ’\\’;
j++;
break;
default:
break;
}
new[j] = str[i];
j++;
}
new[j] = ’\n’;
return new;
}
这将返回一个带有跟随在\后的shell转义字符的字符串。这个修正的finger.cgi网关在程序6中。
程序6. 一个安全的finger.cgi.
#!/usr/local/bin/perl
# finger.cgi - an safe finger gateway
require ’cgi-lib.pl’;
sub escape_input {
@_ =~ s/([;<>\*\
关键词:CGI的安全(二)