41 lines
1.2 KiB
PHP
Executable File
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();
|