Pegue barras invertidas, aspas simples e duplas em solicitações GET

2

De acordo com este artigo Artigo sobre Injeção de SQL :

<…> the operations mostly used for breaking\fuzzing the SQL query’s are.

  • ' Single quote
  • " Double Quote
  • \ Backslash (MySQL Escape character)

Também há caracteres codificados hexadecimais (por exemplo, 0x3a3a ) às vezes.

Eu quero registrar e eliminar todos os pedidos que contenham esses itens. Aqui está onde eu estou até agora:

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;
}

(Eu entendo que se é mal , mas se pareceu necessário )

Isso não é acionado em /foo/ba'r , mas pelo menos funciona bem em /?foo=b'ar . Mas é isso: os outros personagens que eu tento não são acionados.

Veja o que tentei:

  • $request_uri ~ "%27|%22" : trabalhos únicos, o dobro não
  • $request_uri ~ "%27|\"" : trabalhos únicos, o dobro não
  • $request_uri ~ "%27|0x" : ambos funcionam, mas 0x obtém falsos positivos em thumb = 230x240

E eu nem sei como vou abordar a barra invertida.

Vocês sabem como fazer isso funcionar?

P.S. Pensei em usar o Amazon WAS , mas ele requer outro serviço (Cloudflare ou balanceador de carga) para o qual ainda não estou pronto.

P.S. Eu percebo que outras medidas precisam ser tomadas; isto é suposto para deixar cair aquelas varreduras irritantes do GET. Também duvido que os visitantes legítimos acabem tendo aqueles enquanto estão navegando. Minha lógica era esta: qualquer barreira complicando o hack ajuda

    
por aexl 07.09.2018 / 11:43

0 respostas