¿Qué hace '& ==;' ¿Qué significa con respecto a Python Django y sobrepasando WAFs?

2

Estoy leyendo las diapositivas de alguien sobre cómo evitar los WAF.

  
  • &==; : Python Django entre parámetros;
  •   
  • FooBar==POST verb : Apache con PHP;
  •   
  • <%I%M%U011e>==<IMG> : IIS ASP Classic;
  •   
  • ;/path1 ;foo/path2;bar/;==/path1/path2/ : Apache Tomcat;
  •   

En una página, menciona la cadena &==;- . ¿Alguien sabe el significado de "entre parámetros"?

    
pregunta daisy 21.09.2017 - 06:04
fuente

1 respuesta

8

Léalo como: & == ;

Esta viñeta solo significa que el marco de Django para Python analiza tanto un símbolo comercial ( & ) como un punto y coma ( ; ) como separadores válidos de los parámetros de consulta en una URL determinada.

En consecuencia, las siguientes URL se tratarían de forma idéntica:

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

Esto es notable porque otros marcos podrían no reconocer el punto y coma como separador y leer la segunda cadena de consulta como un solo parámetro x con el valor y;name=peter;debug=1 . A su vez, este comportamiento puede confundir los WAF, lo que probablemente explica por qué aparece en sus diapositivas.

    
respondido por el Arminius 21.09.2017 - 06:17
fuente

Lea otras preguntas en las etiquetas