¿Inyección de objetos PHP en ausencia de código fuente?

3

Sé que el proceso de explotación de la inyección de objetos PHP. Leí en algún lugar que solo se puede explotar cuando el atacante conoce el código interno. De Verdad? Si encuentro una vulnerabilidad de inyección de objetos PHP y no conozco el código fuente de la aplicación web, ¿puedo explotarlo?

    
pregunta januu agrawal 26.12.2017 - 19:30
fuente

1 respuesta

3

La explotación de una vulnerabilidad sin acceso al código fuente requiere más trabajo, algo de creatividad e intuición y quizás un poco de buena suerte. Pero es absolutamente posible. Esto es cierto para la mayoría de los ataques en general, y para la inyección de objetos PHP en particular.

La idea de que estás seguro siempre y cuando nadie tenga en sus manos el código fuente no solo es errónea, sino peligrosa. En su lugar, diseñe sus programas para que sean seguros incluso si el código fuente se hiciera público.

Para comprender cómo esta vulnerabilidad en particular puede ser explotada sin el conocimiento del código fuente, le recomiendo que eche un vistazo a estas ejemplos de OWASP :

  • En el primer ejemplo, una variable GET que contiene una ruta de archivo pasa a través de unserialize , lo que crea una vulnerabilidad de recorrido de ruta. Cada vez que un atacante competente ve un camino, intentará atravesar el camino para ver qué sucede. Ver el código fuente lo haría más fácil, pero no es estrictamente necesario.
  • En el segundo ejemplo, los datos de unserialize se pasan a eval , lo que hace posible la inyección de código. Las pruebas para insertar el código PHP en lugares aleatorios son prácticamente un procedimiento estándar de prueba de lápiz de caja negra. Claro, sería más fácil si pudieras simplemente grep para evaluar, pero eso no significa que esta pequeña joya no se descubra.
  • El tercer ejemplo es una vulnerabilidad de SQLi creada por el método __tostring que está siendo controlada por el atacante. Este sería difícil de encontrar sin leer el código fuente. Pero las cadenas de PHP serializadas son fáciles de detectar, y un atacante hurgará y verá qué sucede. ¿Realmente quieres apostar a que nadie conseguirá oro solo por pura suerte?
respondido por el Anders 26.12.2017 - 22:09
fuente

Lea otras preguntas en las etiquetas