¿Es posible encontrar un desbordamiento de búfer en WordPress?

19

Tuve una conversación interesante con un pentester que me dijo que había encontrado un desbordamiento de búfer en Wordpress. La persona en cuestión estaba realmente convencida de que esto era cierto. El cliente se muestra un poco escéptico acerca de las habilidades técnicas de la empresa pentesting y me ha pedido mi opinión.

Entonces, la pregunta que tengo es esta: ¿alguien ha oído alguna vez que alguien haya encontrado un desbordamiento de búfer en WordPress simplemente haciendo una solicitud GET a algún PHP?

Mi opinión: si esto fuera cierto, habría encontrado un desbordamiento de búfer en el intérprete de PHP, y eso sería enorme. Así que no creo que sea verdad.

EDITAR: El BOF estaba en dos lugares:

  • En una función php desarrollada por el cliente con la misma carga útil que una vulnerabilidad XSS (algo así como 123 "> alert (0);

  • En el token wp_session con solo un grupo de A's (~ 60)

Todo se realizó de forma externa sin acceso en el servidor en una rutina rápida de alrededor de 10 sitios web diferentes ...

Actualizaré después de realizar una revisión real del código en las partes que deberían ser vulnerables

EDITAR: Así que hice la revisión del código y fue una historia de BS. No solo no existían los BOF, sino que en realidad dijo que había encontrado un SQLi en una parte del código que no hacía absolutamente nada con una base de datos.

¡Pero al menos la discusión en los comentarios fue muy perspicaz sobre las posibilidades de este tipo de plataformas estándar y CMS de BOF, así que aprendí mucho! Gracias!

    
pregunta Wealot 08.02.2018 - 10:38
fuente

5 respuestas

27

Como PHP hace la administración de memoria y muchas cosas por sí mismo, encontrar un desbordamiento de búfer específicamente en WordPress realmente no tiene sentido para mí.

Antes de desacreditar a ese probador de penetración, le pido a él / ella la documentación del hallazgo en cuestión. A medida que él / ella trabaja para dicho cliente (suena como si me corrigiera si me equivoco), es su trabajo informar sobre dicho problema al cliente, incluida una documentación de al menos forma de localizar / reproducir el problema.

Como usted dice, soy muy escéptico de que él / ella solo tuvo acceso al servicio web desde el exterior. Verificando un problema de bajo nivel como un desbordamiento de búfer (que es incluso mucho más allá del servicio web o wordpress en general) es casi imposible desde el exterior.

Ejecutar uno es complicado, incluso si tienes acceso al código fuente, que no parece ser el caso (suponiendo que no sea una prueba de caja blanca).

P.S .: Si recibe una respuesta del cliente / pentester, me encantaría escucharla. Me tienes bastante curioso por alguna razón ...

    
respondido por el GxTruth 08.02.2018 - 10:54
fuente
20

Puede ser que haya encontrado un desbordamiento de búfer en PHP o glibc que puede ser explotado a través de Wordpress. Por ejemplo, hace 3 años había un agujero en gethostbyname () que podía ser explotado a través de Wordpress. Se llama la vulnerabilidad GHOST.

Si tienes un sistema operativo muy antiguo sin actualizaciones, así como un Wordpress muy antiguo que podría ser cierto.

    
respondido por el Aria 08.02.2018 - 12:14
fuente
6

Como mencionó GxTruth , PHP realiza la administración de la memoria. Esto significa que cualquier cosa que se ejecute en php es básicamente tan segura contra los desbordamientos de búfer como lo es php (a menos que estés haciendo algo realmente loco).

Pero php no está 100% seguro de desbordamientos de búfer: enlace

Si este pentestero ha encontrado realmente un desbordamiento de búfer, debería poder decirle exactamente cómo reproducirlo. En ese punto, deberías poder rastrear eso en el código. Puede ser que esto sea causado por una versión de WP / PHP previamente parcheada. Siempre asegúrese de estar actualizado con los últimos parches en toda su pila tecnológica.

Si resulta que esto es un error en las versiones más recientes, luego recopile la información relevante y archive los informes de errores apropiados. Puede notificar a las personas que desarrollan PHP aquí: enlace . Asegúrate de marcar tu error como security relacionado. También sería importante leer esto primero: enlace . Además, informe esto a WordPress o a cualquier desarrollador de complementos / temas de terceros que estén afectados para que puedan tomar medidas para mitigar el problema mientras el propio PHP está parcheado.

Y si esto es un problema, por curioso que sea escuchar lo que es, no informa sobre esto públicamente hasta que los mantenedores del código afectado tengan la oportunidad de solucionarlo, ya que afectará a muchos sitios en la web y no solo a los suyos.

    
respondido por el Kallmanation 08.02.2018 - 14:56
fuente
4

Es probablemente uno de esos cuatro:

  • Es posible que no conozca el nombre correcto, y llame a algo como hashdos un "desbordamiento de búfer" porque llena la matriz hasta tal punto que deja de responder o se bloquea.
  • Podría haber encontrado un desbordamiento de búfer en PHP y, en términos simples, llamarlo "en Wordpress" porque la gente podría no saber que ejecutan PHP bajo el capó y solo lo conocen como Wordpress.
  • Podría haber encontrado un desbordamiento de búfer para que PHP sea explotable a través de Wordpress.
  • Puede que no tenga idea de lo que está hablando.

Yo diría que este último es, con mucho, el más probable.

    
respondido por el Luc 09.02.2018 - 10:12
fuente
0

Es posible que haya encontrado un desbordamiento de búfer en el servidor web (por ejemplo, Apache HTTPD), en lugar de en PHP o su aplicación. Por ejemplo, enlace "Desbordamiento de búfer de cookies de Apache httpd para las versiones 1.1.1 y anteriores.", Esto CVE bloquea la instancia secundaria de Apache en caso de que el servidor use mod_cookie para modificar una cookie en la respuesta HTTP. Como recuerdo, si el atacante colocó una cadena larga en el valor de cookie relevante, causó el bloqueo.

    
respondido por el Manjula 09.02.2018 - 18:17
fuente

Lea otras preguntas en las etiquetas