Che cosa significa '& ==;' significa per quanto riguarda Python Django e bypassando WAF?

2

Sto leggendo le diapositive di qualcuno ignorando i WAF.

  • &==; : Python Django between parameters;
  • FooBar==POST verb : Apache with PHP;
  • <%I%M%U011e>==<IMG> : IIS ASP Classic;
  • ;/path1 ;foo/path2;bar/;==/path1/path2/ : Apache Tomcat;

In una pagina menziona la stringa &==;- . Qualcuno conosce il significato di "tra i parametri"?

    
posta daisy 21.09.2017 - 06:04
fonte

1 risposta

8

Leggilo come: & == ;

Questo punto elenco significa che il framework Django per Python analizza sia una e commerciale ( & ) sia un punto e virgola ( ; ) equamente come separatori validi dei parametri di query in un dato URL.

Di conseguenza, i seguenti URL verrebbero trattati in modo identico:

https://example.com/foo/bar?x=y&name=peter&debug=1
https://example.com/foo/bar?x=y;name=peter;debug=1

Questo è notevole perché altri framework potrebbero non riconoscere il punto e virgola come separatore e leggere la seconda stringa di query come un singolo parametro x con il valore y;name=peter;debug=1 . Questo comportamento potrebbe a sua volta confondere i WAF che è probabilmente il motivo per cui è elencato nelle diapositive.

    
risposta data 21.09.2017 - 06:17
fonte

Leggi altre domande sui tag