Attraper la ligne oblique arrière, citations simples et doubles dans des requêtes GET

Selon ce
https://www.hempstutorials.co. ... sics/
:

<…> Opérations les plus souvent utilisées pour le piratage \ Phase de demande SQL.


'

Simple citation


"

Double citation


\

Damn oblique inversé (Symbole d'échappement MySQL)

Il existe également des symboles dans le codage hexadécimal (par exemple,

0x3a3a

) quelquefois.

Je veux enregistrer et jeter toutes les demandes les contenant. C'est là que je suis maintenant:

set $susp 0;
if ($request_uri ~ "%27") {
set $susp 1;
}
location ~ \.php {
if ($susp = 1) {
access_log /var/log/nginx/for-review.log;
return 500;
}
# further fastcgi configuration
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}

(Je comprends bien
https://www.nginx.com/resource ... evil/
, mais ça
https://serverfault.com/questi ... 94701
)

Ça ne marche pas

/foo/ba'r

, Mais au moins travailler parfaitement sur

/?foo=b'ar

. Mais c'est tout: d'autres personnages, que j'essaye, ne fonctionnent pas aussi.

C'est ce que j'ai essayé:

https://www.ruby-forum.com/topic/142953#634097
: Travaux simples, double - ne pas


$request_uri ~ "%27|\""

: Travaux simples, double - ne pas


$request_uri ~ "%27|0x"

: les deux travaillent mais

0x

Obtient de fausses réponses

pouce = 230x240

Et je ne suis même pas sûr de la façon dont j'approche la faux inversé.

Vous savez comment le faire fonctionner?

P.S. Pensé à utiliser
https://aws.amazon.com/waf/
, Mais cela nécessite un autre service. (Cloudflare ou équilibrage de la charge), À quoi je ne suis pas encore prêt.

P.S. Je comprends que vous devez prendre d'autres mesures; il devrait jeter ces scans ennuyeux GET. Je doute également que les visiteurs juridiques les reçoivent éventuellement lors de la visualisation. Ma logique était la suivante: toute barrière qui rend difficile de pirater
Invité:

Alice

Confirmation de:

Principale

nginx.conf

, sous

http {}

:

# set the variable
map "$request_uri" $susp {
default 0;
"~*(?<suspm>(\\x|%)(3c|3e|5c|22|27)+)" 1;
}
# match logging
log_format suspl '$remote_addr /$suspm/ - $remote_user $host [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$http_cookie"';

Configuration individuelle de l'hôte virtuel:

location / {
if (\$susp = 1) {
access_log /var/log/suspl.log suspl;
return 403;
}
# etc…
}

Également,

Je doute que les visiteurs juridiques apparaissent pendant qu'ils parcourent

ATTENTION: ça se passe, ils portent quelque chose comme

%7B%22

Dans leurs fichiers cookie, établi par certains (Pas tout) Programmes de suivi / Analystes.
</suspm>

Pour répondre aux questions, connectez-vous ou registre