¿El uso de HTTP GET en lugar de una solicitud POST puede filtrar el código fuente?

2

¿Es posible filtrar el código del lado del servidor de un sitio web si se envía una solicitud GET en lugar de una solicitud POST a una página? La idea es que si se realiza una solicitud POST a una página web, por ejemplo. http://<server url>/index.php , luego se leen los parámetros pasados a través de la solicitud POST, el código del lado del servidor, por ejemplo. PHP se ejecuta y una salida HTML se devuelve al usuario. Sin embargo, si se envía una solicitud GET de una página web al servidor, el servidor no ejecuta el código del lado del servidor, simplemente devuelve index.php al usuario final que pierde el código del lado del servidor.

He escuchado que esto es una vulnerabilidad común, pero no puedo encontrar escenarios donde exista. Además, ¿qué configuraciones de servidor normalmente permitirían que ocurriera esta vulnerabilidad?

Gracias

John

    
pregunta John 03.12.2015 - 16:55
fuente

3 respuestas

4
  

Sin embargo, si se envía una solicitud GET de una página web al servidor, entonces el servidor no ejecuta el código del lado del servidor, simplemente devuelve index.php al usuario final que pierde el código del lado del servidor.

Tu suposición es incorrecta. Un GET o POST no cambia nada relacionado con la fuga de código fuente. Se procesan de la misma manera, y el resultado por lo general será el envío de HTML devuelto.

Principales diferencias entre POST y GET:

  • Una solicitud GET se mostrará completamente en la barra de direcciones, y un POST no se mostrará

    Marcar una solicitud GET con una contraseña también registrará la contraseña, y un POST no.

  • Una solicitud GET se escribe completamente en los registros del servidor web, un POST generalmente no

    Si alguien lee los registros del servidor web, toda la información de todas las solicitudes se puede leer desde un GET, pero no desde un POST

El uso de POST hará que sea un poco más difícil para alguien llevar a cabo un ataque CSRF contra su sitio. Pero no tienen absolutamente nada que ver con una fuga de origen.

    
respondido por el ThoriumBR 03.12.2015 - 17:53
fuente
3

La coincidencia más cercana que puedo encontrar es esta vulnerabilidad .

  

Un caso de abuso simple para esta vulnerabilidad es obtener la fuente   código para cualquier archivo PHP en el sitio, que se puede hacer con un simple   Parámetro de consulta "-s"

Por ejemplo, si la página es example.com/foo.php , simplemente agregaría -s para hacer example.com/foo.php-s . Esto revelará el código fuente en un sistema vulnerable.

Sin embargo, el artículo no indica que esto requiera una solicitud GET, aunque es más fácil hacerlo a través de GET, ya que solo modificas la solicitud en tu navegador.

    
respondido por el SilverlightFox 03.12.2015 - 17:16
fuente
-3

sí, es posible y es una técnica bastante común en realidad. Este método de uso de la solicitud GET que potencialmente lleva a cabo varias ubicaciones (como el historial del navegador, los archivos de registro http, los encabezados, etc.) se denomina falsificación de solicitud entre sitios (CSRF, por sus siglas en inglés).

Puede encontrar información detallada sobre CSRF en el sitio web de OWASP.

Para su conveniencia aquí está el enlace: enlace

Allí encontrará pasos claros y podrá volver a producir el escenario que está buscando.

    
respondido por el ostendali 03.12.2015 - 17:12
fuente

Lea otras preguntas en las etiquetas