Cookie que contiene el carácter de bytes NULL (0x00) en el nuevo sitio de WordPress.org. ¿Algún problema?

6

Instalé el complemento NinjaFirewall en WP.org v4.7.2. Me encerró fuera de mi sitio.

Pidieron el registro al cPanel de mi empresa de hosting, el cual recibí e informan:

  

Tiene una cookie que contiene el carácter de byte NULO (0x00). Eso es   muy extraño e inusual.

     

Puede iniciar sesión en WordPress utilizando otro navegador (o eliminar su   primero las cookies), luego vaya a "NinjaFirewall > Políticas de cortafuegos >   Varios > Bloquee el carácter ASCII 0x00 (byte NULL) ”y seleccione“ No ”.   Luego, desplácese hasta la parte inferior de la página y haga clic en "Guardar servidor de seguridad".   Políticas ".

Esto es todo un nuevo terreno para mí. ¿Alguien sabe si hay algún problema que deba conocer?

    
pregunta James 03.03.2017 - 07:42
fuente

1 respuesta

1
  

¿Alguien sabe si hay algún problema que deba tener en cuenta?

El problema principal es que el lenguaje de secuencias de comandos (por ejemplo, PHP) que analiza la cookie puede implementarse en un idioma (por ejemplo, C) que trata el carácter de byte NULO (0x00) como un carácter de control especial.

Por ejemplo, en el lenguaje C, una "cadena" de longitud N se implementa como una matriz de N + 1 caracteres, donde el carácter (N + 1) al final de la matriz es 0x00, que se usa para Indica el final de la cadena.

El principio general de seguridad que se está violando aquí es la combinación inesperada de instrucciones (el carácter de control tipo instrucción 0x00) con datos. Las cookies generalmente se consideran cadenas de datos , pero debido a que el byte nulo tiene una propiedad de control especial en C (indica el final de las cadenas y puede hacer que las rutinas de análisis de cadenas regresen) funciona de alguna manera más como una instrucción que datos .

Este es un ejemplo específico de cómo el byte nulo podría causar problemas: podría ser posible cargar un archivo llamado "backdoor.php \ x00.png" que contenga el código de puerta trasera de PHP. Incluso si los archivos php están en la lista negra para que no se carguen, este archivo podría seguir subiéndose ya que la extensión es ".png". Si el análisis del nombre de archivo PHP (que se implementa en C) devuelve incorrectamente en el carácter de byte nulo, el archivo podría guardarse con el nombre "backdoor.php" y luego ejecutarse accediendo al archivo en la carpeta de cargas. Este tipo de exploit se llama "Inyección de bytes nulos".

No tengo conocimiento de una vulnerabilidad específica basada en un carácter nulo en una cookie, pero la idea es similar a la anterior y explotaría las propiedades especiales del byte nulo en el lenguaje de implementación del código que analiza la cookie.

    
respondido por el hft 18.10.2017 - 19:29
fuente

Lea otras preguntas en las etiquetas