diff --git a/filter_inputs.php b/filter_inputs.php index 6f6db3d..a376a41 100644 --- a/filter_inputs.php +++ b/filter_inputs.php @@ -13,95 +13,104 @@ $host = filter_input(INPUT_GET, 'host', FILTER_VALIDATE_REGEXP, ['options' => [' $saveAs = filter_input(INPUT_GET, 'saveAs', FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => $fileNameRegex]]); $compareWith = filter_input(INPUT_GET, 'compareWith', FILTER_VALIDATE_URL); -$inputs = filter_input_array(INPUT_GET, [ - 'iR' => ['filter' => FILTER_VALIDATE_INT], - 'exclude' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], - 'sL' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], - 'sP' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'P0' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'Pn' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'PS' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], - 'PA' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], - 'PU' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], - 'PE' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'PP' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'PM' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'PO' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0, 'max_range' => 255]], - 'PR' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'send-ip' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'n' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'R' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'dns-servers' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], +if ($lan) { + $targets = $lan; + $inputs = $LANSCAN_OPTIONS; +} else if ($host) { + $targets = $host; + $inputs = $HOSTSCAN_OPTIONS; +} else { + $inputs = filter_input_array(INPUT_GET, [ + 'iR' => FILTER_VALIDATE_INT, + 'exclude' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], - 'sS' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'sT' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'sA' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'sW' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'sM' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'sF' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'sN' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'sX' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'scanflags' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^([URG|ACK|PSH|RST|SYN|FIN]+)$|^([0-2]?\d?\d)$/"]], - 'sI' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^[a-zA-Z\d:.-]+(:\d+)?$/"]], - 'sO' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'b' => FILTER_VALIDATE_DOMAIN, - 'traceroute' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'reason' => ['filter' => FILTER_VALIDATE_BOOLEAN], + 'sL' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], + 'sP' => FILTER_VALIDATE_BOOLEAN, + 'P0' => FILTER_VALIDATE_BOOLEAN, + 'Pn' => FILTER_VALIDATE_BOOLEAN, + 'PS' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], + 'PA' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], + 'PU' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], + 'PE' => FILTER_VALIDATE_BOOLEAN, + 'PP' => FILTER_VALIDATE_BOOLEAN, + 'PM' => FILTER_VALIDATE_BOOLEAN, + 'PO' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0, 'max_range' => 255]], + 'PR' => FILTER_VALIDATE_BOOLEAN, + 'send-ip' => FILTER_VALIDATE_BOOLEAN, + 'n' => FILTER_VALIDATE_BOOLEAN, + 'R' => FILTER_VALIDATE_BOOLEAN, + 'dns-servers' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], - 'p' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], - 'F' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'r' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'top-ports' => FILTER_VALIDATE_INT, - 'port-ratio' => ['filter' => FILTER_VALIDATE_FLOAT, 'options' => ['min_range' => 0, 'max_range' => 1]], + 'sS' => FILTER_VALIDATE_BOOLEAN, + 'sT' => FILTER_VALIDATE_BOOLEAN, + 'sA' => FILTER_VALIDATE_BOOLEAN, + 'sW' => FILTER_VALIDATE_BOOLEAN, + 'sM' => FILTER_VALIDATE_BOOLEAN, + 'sF' => FILTER_VALIDATE_BOOLEAN, + 'sN' => FILTER_VALIDATE_BOOLEAN, + 'sX' => FILTER_VALIDATE_BOOLEAN, + 'scanflags' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^([URG|ACK|PSH|RST|SYN|FIN]+)$|^([0-2]?\d?\d)$/"]], + 'sI' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^[a-zA-Z\d:.-]+(:\d+)?$/"]], + 'sO' => FILTER_VALIDATE_BOOLEAN, + 'b' => FILTER_VALIDATE_URL, + 'traceroute' => FILTER_VALIDATE_BOOLEAN, + 'reason' => FILTER_VALIDATE_BOOLEAN, - 'sV' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'version-light' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'version-intensity' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0, 'max_range' => 9]], - 'version-all' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'version-trace' => ['filter' => FILTER_VALIDATE_BOOLEAN], + 'p' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $portsListRegex]], + 'F' => FILTER_VALIDATE_BOOLEAN, + 'r' => FILTER_VALIDATE_BOOLEAN, + 'top-ports' => FILTER_VALIDATE_INT, + 'port-ratio' => ['filter' => FILTER_VALIDATE_FLOAT, 'options' => ['min_range' => 0, 'max_range' => 1]], - 'O' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'osscan-limit' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'osscan-guess' => ['filter' => FILTER_VALIDATE_BOOLEAN], + 'sV' => FILTER_VALIDATE_BOOLEAN, + 'version-light' => FILTER_VALIDATE_BOOLEAN, + 'version-intensity' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0, 'max_range' => 9]], + 'version-all' => FILTER_VALIDATE_BOOLEAN, + 'version-trace' => FILTER_VALIDATE_BOOLEAN, - 'T0' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'T1' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'T2' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'T3' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'T4' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'T5' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'min-hostgroup' => ['filter' => FILTER_VALIDATE_INT], - 'max-hostgroup' => ['filter' => FILTER_VALIDATE_INT], - 'min-parallelism' => ['filter' => FILTER_VALIDATE_INT], - 'max-parallelism' => ['filter' => FILTER_VALIDATE_INT], - 'min-rtt-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], - 'max-rtt-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], - 'initial-rtt-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], - 'max-retries' => ['filter' => FILTER_VALIDATE_INT], - 'host-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], - 'scan-delay' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], - 'max-scan-delay' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], + 'O' => FILTER_VALIDATE_BOOLEAN, + 'osscan-limit' => FILTER_VALIDATE_BOOLEAN, + 'osscan-guess' => FILTER_VALIDATE_BOOLEAN, - 'f' => ['filter' => FILTER_VALIDATE_INT], - 'mtu' => ['filter' => FILTER_VALIDATE_INT], - 'D' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], - 'S' => ['filter' => FILTER_VALIDATE_IP], - 'e' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^[a-z\d]+$/"]], - 'g' => ['filter' => FILTER_VALIDATE_INT], - 'source-port' => ['filter' => FILTER_VALIDATE_INT], - 'data-length' => ['filter' => FILTER_VALIDATE_INT], - 'ip-options' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^\"(R|T|U|L [\da-zA-Z-.: ]+|S [\da-zA-Z-.: ]+|\\\\x[\da-fA-F]{1,2}(\*[\d]+)?|\\\\[0-2]?[\d]{1,2}(\*[\d]+)?)\"$/"]], - 'ttl' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0, 'max_range' => 255]], - 'spoof-mac' => ['filter' => FILTER_VALIDATE_MAC], - 'badsum' => ['filter' => FILTER_VALIDATE_BOOLEAN], + 'T0' => FILTER_VALIDATE_BOOLEAN, + 'T1' => FILTER_VALIDATE_BOOLEAN, + 'T2' => FILTER_VALIDATE_BOOLEAN, + 'T3' => FILTER_VALIDATE_BOOLEAN, + 'T4' => FILTER_VALIDATE_BOOLEAN, + 'T5' => FILTER_VALIDATE_BOOLEAN, + 'min-hostgroup' => FILTER_VALIDATE_INT, + 'max-hostgroup' => FILTER_VALIDATE_INT, + 'min-parallelism' => FILTER_VALIDATE_INT, + 'max-parallelism' => FILTER_VALIDATE_INT, + 'min-rtt-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], + 'max-rtt-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], + 'initial-rtt-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], + 'max-retries' => FILTER_VALIDATE_INT, + 'host-timeout' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], + 'scan-delay' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], + 'max-scan-delay' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $tempoRegex]], - //'6' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'A' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'send-eth' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'privileged' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'V' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'unprivileged' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'h' => ['filter' => FILTER_VALIDATE_BOOLEAN], - 'stylesheet' => ['filter' => FILTER_VALIDATE_URL], -], false) ?: $LANSCAN_OPTIONS; + 'f' => FILTER_VALIDATE_INT, + 'mtu' => FILTER_VALIDATE_INT, + 'D' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $hostsListRegex]], + 'S' => ['filter' => FILTER_VALIDATE_IP], + 'e' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^[a-z\d]+$/"]], + 'g' => FILTER_VALIDATE_INT, + 'source-port' => FILTER_VALIDATE_INT, + 'data-length' => FILTER_VALIDATE_INT, + 'ip-options' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => "/^\"(R|T|U|L [\da-zA-Z-.: ]+|S [\da-zA-Z-.: ]+|\\\\x[\da-fA-F]{1,2}(\*[\d]+)?|\\\\[0-2]?[\d]{1,2}(\*[\d]+)?)\"$/"]], + 'ttl' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0, 'max_range' => 255]], + 'spoof-mac' => FILTER_VALIDATE_MAC, + 'badsum' => FILTER_VALIDATE_BOOLEAN, + + //'6' => FILTER_VALIDATE_BOOLEAN, + 'A' => FILTER_VALIDATE_BOOLEAN, + 'send-eth' => FILTER_VALIDATE_BOOLEAN, + 'privileged' => FILTER_VALIDATE_BOOLEAN, + 'V' => FILTER_VALIDATE_BOOLEAN, + 'unprivileged' => FILTER_VALIDATE_BOOLEAN, + 'h' => FILTER_VALIDATE_BOOLEAN, + 'stylesheet' => FILTER_VALIDATE_URL, + ], false) ?: $LANSCAN_OPTIONS; +} \ No newline at end of file diff --git a/index.php b/index.php index d6c27e0..45560a6 100755 --- a/index.php +++ b/index.php @@ -35,7 +35,7 @@ Exemples: = $_SERVER['REMOTE_ADDR']; ?>/24 = $_SERVER['SERVER_NAME']; ?> 10.