Maison  >  Article  >  Opération et maintenance  >  Quelles sont les règles de la liste blanche nginx-naxsi ?

Quelles sont les règles de la liste blanche nginx-naxsi ?

PHPz
PHPzavant
2023-05-13 16:19:141008parcourir

Syntaxe des règles de liste blanche :

basicrule wl:id [negative] [mz:[$url:target_url]|[match_zone]|[$args_var:varname]|[$body_vars:varname]|[$headers_var:varname ] |[name]]

wl:id (identifiant de la liste blanche) Quelles règles d'interception entreront dans la liste blanche
wl:0 Ajouter toutes les règles d'interception à la liste blanche
wl: 42 Ajoutez la règle d'interception avec l'identifiant 42 à la liste blanche
wl:42,41,43 Ajoutez la règle d'interception avec l'identifiant 42, 41 et 43 à la liste blanche
wl:-42 Ajouter toutes les règles d'interception dans la liste blanche, à l'exception de la règle d'interception avec l'ID 42

mz : (match zones)

args obtenir tous les paramètres, tels que : foo=bar&in=%20
$args_var Le nom du paramètre get, tel que : foo in foo=bar&in=%20 et in
$args_var_x Le nom du paramètre get qui correspond à la correspondance régulière
headers en-tête du protocole http entier
$headers_var Le nom de l'en-tête du protocole http
$headers_var_x Le nom de l'en-tête du protocole http correspondant régulièrement
body L'intégralité contenu du paramètre de la publication
$body_var Le nom du paramètre du paramètre de publication
$body_var_x Le nom du paramètre du paramètre de publication correspondant régulier
url url(?before)
url_x L'URL correspondante habituelle (?avant))
file_ext Nom du fichier (le nom du fichier téléchargé lors du téléchargement d'un fichier dans la publication)

Exemple de configuration de la liste blanche

Prends la règle #1000 à titre d'exemple : la règle n°1000 consiste à filtrer les fichiers contenant des règles de sélection, de mise à jour, de suppression, d'insertion et d'autres mots-clés SQL

règle description
basicrule wl:1000 Désactivez complètement l'interception ; règle n°1000 dans cette sous-règle. Puisqu’il n’y a pas de zone spécifiée, toutes sont ajoutées à la liste blanche.
basicrule wl:1000 "mz:$args_var:foo";

Désactiver la règle d'interception dans toutes les valeurs de paramètre d'obtention nommées foo #1000

Similaire à http://mike.hi-linux.com/ Les requêtes telles que ?foo=select * from demo ne seront pas filtrées.

basicrule wl:1000 "mz:$url:/bar|args";

Paramètre désactivant la règle d'interception #1000 dans la requête get avec l'url de /bar

Les requêtes similaires suivantes ne seront pas filtrées :

http://mike.hi-linux.com/bar?my=select * de la démohttp://mike.hi-linux.com/bar?from=weibo

basicrule wl:1000 "mz :args|name";

Désactivez les règles d'interception #1000 pour tous les noms de paramètres (uniquement les noms, sans compter les valeurs des paramètres) dans toutes les requêtes get

Les requêtes suivantes ne seront pas filtrées :

http://mike.hi -linux.com/bar?from=weibo

Les requêtes suivantes seront filtrées :

http://mike.hi-linux.com/bar?foo=select

Parce que select est une valeur de paramètre et n'est pas dans la plage de la liste blanche.

basicrule wl:0 "mz:$url_x:^/upload/(.*).(.*)$|url";

Conforme à ^/upload/(.*) dans toutes les requêtes. (.*)$ L'URL de la règle régulière désactive toutes les règles d'interception

Semblable à http://mike.hi-linux.com/upload/select.db, les requêtes ne seront pas filtrées (la règle d'interception #1000 sera à l'origine déclenchée).

实战用的白名单规则
# vi naxsi_basicrule.conf
basicrule wl:1010,1011 "mz:$args_var:rd";
basicrule wl:1015,1315 "mz:$headers_var:cookie";

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer