Formas alternativas para explotar este recorrido de ruta

-2

Tengo una aplicación vulnerable al cruce de directorios (lo sé porque es parte de la redacción de la pregunta). La aplicación tiene dos directorios, públicos y privados, y dos archivos php:

  • A.php?folder=[public|private] lista el contenido de ambos directorios.
  • B.php?folder=public&file=test.txt&action=[view|download] ve o descarga el archivo especificado.

Necesito ver un archivo llamado users.txt que está asignado en el directorio privado. B.php parece tener una restricción que solo permite la acción en el directorio público, así que si escribo B.php?folder=private&file=users.txt&action=view , en realidad está intentando leer \public\private\admin\users.txt (note la barra invertida, es un sistema de Windows si eso importa).

Mi siguiente paso fue saltar al árbol de directorios, pero la aplicación no permite .. ni %2E%2E . Devuelve un mensaje que dice que el punto char no se puede usar para la carpeta o el archivo.

No hay cookies ni datos POST.

Entonces, ¿cómo podría "romper la cárcel" del directorio público en B.php? ¿Alguna idea?

PD: habló con mi instructor y él confirma que esta es una pregunta difícil.

    
pregunta yzT 08.12.2014 - 13:38
fuente

1 respuesta

3

No puedo decirle cómo romper ese sistema específico ya que no hay suficiente información, aunque puedo proporcionar algunas cosas generales para intentar:

  • Intente / y \ al inicio del nombre de la carpeta para intentar llegar al directorio raíz.
  • Intente con %2f y %5c (porcentaje de versiones codificadas de lo anterior).
  • Intente usar la codificación Unicode de 16 bits ( . = %u002e , / = %u2215 , \ = %u2216 ).
  • Prueba la codificación de doble URL ( . = %252e , / = %252f , \ = %255c ).
  • Intente la codificación UTF-8 Unicode demasiado larga ( . puede ser %c0%2e , %e0%40%ae , %c0ae , / puede ser %c0%af , %e0%80%af , %c0%2f , etc., \ puede ser %c0%5c , %c0%80%5c ).

Si de repente obtienes una respuesta diferente, entonces has logrado cambiar la ruta de ejecución o la ruta del sistema de archivos a la que se está accediendo, por lo que puedes estar en algo.

Puedes usar una herramienta como Burp Suite para automatizar tu ataque y sustituir las diferentes representaciones de caracteres de ruta.

    
respondido por el SilverlightFox 09.12.2014 - 13:20
fuente

Lea otras preguntas en las etiquetas