Ya que tiene control total sobre ambas variables y los puertos que se están abriendo, su mejor opción para hacer más con esta vulnerabilidad es tener en cuenta que muchos protocolos de Internet son simplemente comandos de texto simple enviados a través de un socket abierto. El significado de este hecho es que enviar una solicitud HTTP a un servidor SMTP abierto puede engañar al servidor SMTP para que envíe un correo electrónico. Chrome realmente bloquea cualquier intento de acceso al puerto 25 a través de su navegador como resultado. Aquí hay un buen resumen:
enlace
La importancia aquí es que puede usar el servidor vulnerable no solo para llamar a sitios HTTP arbitrarios, sino que también puede usarlo para servidores SMTP de correo no deseado (lo que resulta en el envío de correos electrónicos reales) y posiblemente otros servicios conectados a Internet.
Por supuesto, esto no es un gran salto desde donde ya estás, pero nunca sabes qué más divertido podría darte. Si, por ejemplo, este servidor es confiable para el envío de correos electrónicos, es posible que pueda enviar correos electrónicos como la empresa sin tener que filtrarlos como correo no deseado. Eso no es una cosa pequeña.
Es posible que el http
codificado en la llamada fsocketopen
sea suficiente para acabar con la idea de enviar correos electrónicos, pero definitivamente vale la pena intentarlo. Una vez más, realmente no hay nada "especial" para diferenciar las solicitudes http de las solicitudes SMTP, por lo que si puede encontrar y conectarse a un servidor a través del puerto adecuado, el hecho de que PHP considere que es una solicitud http no importa si el El servidor remoto acepta tu conexión.