lanScan/scan.php
2024-11-25 18:02:54 +01:00

41 lines
1.2 KiB
PHP
Executable File

<?php
include_once 'config.php';
include_once 'filter_inputs.php';
$options["--datadir"] = $DATADIR;
$options["--script-args-file"] = $SCRIPTARGS;
if (!file_exists($SCANSDIR)) mkdir($SCANSDIR);
if (!$options["name"]) $options["name"] = str_replace('/', '!', $targets);
//$command = ($options["sudo"]?? false ? "sudo " : "") . "nmap";
$args = "";
foreach ($options as $option => $value) {
if (substr($option, 0, 1) == '-') {
if (is_null($value)) {
http_response_code(400);
$errorMessage = "Valeur incorrecte pour le paramètre <var>$option</var> : " . filter_input(INPUT_GET, $option, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
include_once ".";
die();
} else if ($value) {
if ($value === true) {
$args .= " $option";
} else {
if (substr($option, 0, 2) == '--') $args .= " $option " . escapeshellarg($value);
else $args .= " $option" . escapeshellarg($value);
}
}
}
}
$path = "$SCANSDIR/{$options["name"]}.xml";
$command = "nmap $args -oX - $targets | tee '$path'";
header('Content-type: text/xml');
system($command, $retcode);
exit();