ipinfo.cgi: Remove XSS vulnerability

References: #11087

Reported-by: Yann Cam <yann.cam@gmail.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2016-04-04 14:22:56 +01:00
parent c954b6acdc
commit f367d5b388

View File

@@ -19,6 +19,7 @@
# #
###############################################################################
use CGI;
use IO::Socket;
use strict;
@@ -34,18 +35,14 @@ my %cgiparams=();
&Header::showhttpheaders();
&Header::getcgihash(\%cgiparams);
$ENV{'QUERY_STRING'} =~s/&//g;
my @addrs = split(/ip=/,$ENV{'QUERY_STRING'});
&Header::openpage($Lang::tr{'ip info'}, 1, '');
&Header::openbigbox('100%', 'left');
my @lines=();
my $extraquery='';
foreach my $addr (@addrs) {
next if $addr eq "";
my $addr = CGI::param("ip") || "";
if (&General::validip($addr)) {
$extraquery='';
@lines=();
my $whoisname = "whois.arin.net";
@@ -91,6 +88,14 @@ next if $addr eq "";
}
print "</pre>\n";
&Header::closebox();
} else {
&Header::openbox('100%', 'left', $Lang::tr{'invalid ip'});
print <<EOF;
<p style="text-align: center;">
$Lang::tr{'invalid ip'}
</p>
EOF
&Header::closebox();
}
print <<END