From 63dbcb407ffe5625586f622db3c521ae3c037133 Mon Sep 17 00:00:00 2001 From: adrien <adrien@malingrey.fr> Date: Fri, 18 Oct 2024 00:39:53 +0200 Subject: [PATCH] more options --- filter_inputs.php | 17 +++++----- options.php | 83 ++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 81 insertions(+), 19 deletions(-) diff --git a/filter_inputs.php b/filter_inputs.php index 341687b..98f60a2 100644 --- a/filter_inputs.php +++ b/filter_inputs.php @@ -68,21 +68,22 @@ if ($preset && isset($presets[$preset])) { '-O' => FILTER_VALIDATE_BOOLEAN, '--osscan-limit' => FILTER_VALIDATE_BOOLEAN, '--osscan-guess' => FILTER_VALIDATE_BOOLEAN, -// SERVICE/VERSION DETECTION: + '--max-os-tries' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], +// TIMING AND PERFORMANCE: '-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-hostgroup' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], + '--max-hostgroup' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], + '--min-parallelism' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], + '--max-parallelism' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], '--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, + '--max-retries' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], '--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]], @@ -109,9 +110,9 @@ if ($preset && isset($presets[$preset])) { '-h' => FILTER_VALIDATE_BOOLEAN, '--stylesheet' => FILTER_VALIDATE_URL, // lanScan - 'saveAs' => ["filter" => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $fileNameRegex]], + 'saveAs' => ['filter' => FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => $fileNameRegex]], 'compareWith' => FILTER_VALIDATE_URL, - 'refreshPeriod' => ["filter" => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], + 'refreshPeriod' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 0]], 'sudo' => FILTER_VALIDATE_BOOLEAN, ], false); } \ No newline at end of file diff --git a/options.php b/options.php index a602273..ed1c970 100755 --- a/options.php +++ b/options.php @@ -56,10 +56,7 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10. </div> <div class="ui styled fluid accordion field"> - <div class="title"> - <i class="icon dropdown"></i> - Spécification des cibles - </div> + <div class="title"><i class="icon dropdown"></i>Spécification des cibles</div> <div class="content"> <div class="field"> <label for="excludeInput" title="--exclude">Exclure les hôtes ou réseaux</label> @@ -74,10 +71,7 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10. </div> </div> - <div class="title"> - <i class="icon dropdown"></i> - Découverte des hôtes actifs - </div> + <div class="title"><i class="icon dropdown"></i>Découverte des hôtes actifs</div> <div class="content"> <div class="inline field"> <div class="ui toggle checkbox"> @@ -310,10 +304,77 @@ Exemples: <?= $_SERVER['REMOTE_ADDR']; ?>/24 <?= $_SERVER['SERVER_NAME']; ?> 10. </div> </div> - <div class="title"> - <i class="icon dropdown"></i> - Divers + <div class="title"><i class="icon dropdown"></i>Détection de services et de versions</div> + <div class="content"> + <div class="inline field"> + <div class="ui toggle checkbox" title="-sV"> + <input type="checkbox" id="sVCheckbox" name="-sV" <?= $options['-sV'] ?? false ? 'checked' : ''; ?> /> + <label for="sVCheckbox">Détection de version</label> + </div> + </div> + + <div class="inline field"> + <div class="ui toggle checkbox"> + <input type="checkbox" id="allportsCheckbox" name="--allports" <?= $options['--allports'] ?? false ? 'checked' : ''; ?> /> + <label for="allportsCheckbox" title="--allports">N'exclure aucun port de la détection de version</label> + </div> + </div> + + <div class="field"> + <label for="versionIntensitySelect" title="--version-intensity">Intensité des tests de version</label> + <select class="ui dropdown" id="versionIntensitySelect" name="--version-intensity" value="<?= $options["--version-intensity"] ?? ""?>"> + <option value="0">0</option> + <option value="1">1</option> + <option value="2">Léger</option> + <option value="3">3</option> + <option value="4">4</option> + <option value="5">5</option> + <option value="6">6</option> + <option value="7">Défaut</option> + <option value="8">8</option> + <option value="9">Tous</option> + </select> + </div> + + <div class="inline field"> + <div class="ui toggle checkbox"> + <input type="checkbox" id="sRCheckbox" name="-sR" <?= $options['-sR'] ?? false ? 'checked' : ''; ?> /> + <label for="sRCheckbox" title="-sR">Scan RPC</label> + </div> + </div> </div> + + <div class="title"><i class="icon dropdown"></i>Détection du système d'exploitation</div> + <div class="content"> + <div class="inline field"> + <div class="ui toggle checkbox"> + <input type="checkbox" id="OCheckbox" name="-O" <?= $options['-O'] ?? false ? 'checked' : ''; ?> /> + <label for="OCheckbox" title="-O">Détecter le système d'exploitation</label> + </div> + </div> + + <div class="inline field"> + <div class="ui toggle checkbox"> + <input type="checkbox" id="osscan-limitCheckbox" name="--osscan-limit" <?= $options['--osscan-limit'] ?? false ? 'checked' : ''; ?> /> + <label for="osscan-limitCheckbox" title="--osscan-limit">Seulement les cibles prometteuses</label> + </div> + </div> + + <div class="inline field"> + <div class="ui toggle checkbox"> + <input type="checkbox" id="osscan-guessCheckbox" name="--osscan-guess" <?= $options['--osscan-guess'] ?? false ? 'checked' : ''; ?> /> + <label for="osscan-guessCheckbox" title="--osscan-guess">Essayer de deviner</label> + </div> + </div> + + <div class="field"> + <label for="maxOSTriesInput">Nombre d'essais maximum</label> + <input type="number" min="0" id="maxOSTriesInput" name="--max-os-tries" placeholder="Nombre d'essais" + value="<?= $options["--max-os-tries"] ?? "" ?>"> + </div> + </div> + + <div class="title"><i class="icon dropdown"></i>Divers</div> <div class="content"> <div class="field"> <label for="stylesheetSelect" title="--stylesheet">Feuille de style</label>