DVWA - Inyección de comandos (nivel alto)

5

Estoy tratando de informarme más sobre los valores web usando DVWA. Estoy desconcertado con la inyección de comandos, en el nivel alto

Los estados de ayuda

  

El desarrollador ha cometido un pequeño error con los filtros y cree que un cierto comando de PHP los salvará de este error.

     

Spoiler: trim() removes all leading & trailing spaces, right?.

No se procesan correctamente aquí, pero hay tres espacios de tabulación entre recortar () y eliminar. Dicho esto, la función trim () elimina los espacios tabulados. Sin embargo, aparentemente lucha con los espacios sin ruptura (\ xA0). No estoy muy familiarizado con las líneas de comando, pero a partir del código fuente, todos los símbolos que intentaría inyectar se reemplazan con PHP antes de que pueda hacer nada.

Tenga en cuenta que las fuentes anteriores en la red dicen que este nivel no se puede rastrear, pero estoy usando v1.9, publicado el 2015-10-05, con la anotación del registro de cambios

  

Ha cambiado el nombre de 'alto' a 'imposible' y ha creado nuevos vectores para 'alto'.

Así que efectivamente este es un nuevo desafío.

Me estoy ejecutando en Windows, teniendo en cuenta que esto tiene un efecto en la sintaxis del comando, etc. Otras respuestas (anteriores) apuntan al uso de canalizaciones con nombre (FIFO) que aparentemente son más fáciles en los sistemas * nix.

    
pregunta Ian 19.12.2015 - 15:08
fuente

1 respuesta

2

Esto implica que trim() no elimina los espacios internos. Por ejemplo, no haría que el comando pwd && ls se convierta en pwd&&ls . Usando esta sugerencia y mirando la lista negra imperfecta, deberías poder identificar un punto débil en la lista.

Sugerencia: el último elemento de la lista negra es una pista.

    
respondido por el Jake 29.02.2016 - 11:51
fuente

Lea otras preguntas en las etiquetas