PHP gethostbyname implicaciones de seguridad

1

Estoy trabajando en una aplicación PHP. Hay un requisito para encontrar IP por nombre de host y tengo que recurrir a gethostbynamel para eso. Parece que no hay otra manera.

Me preguntaba si existen implicaciones de seguridad relacionadas con esto. Estoy validando el nombre de host dado como entrada del usuario final mediante expresiones regulares.

Tengo dos opciones:

  1. Cuando el usuario envía un formulario con el nombre de host, valídelo y use gethostbynamel
  2. Cuando el usuario envía un formulario con el nombre de host, valídelo, almacénelo en la base de datos y use el trabajo cron que ejecuta gethostbynamel

¿Habrá alguna diferencia en los métodos anteriores?

La seguridad es la máxima prioridad para la aplicación.

    
pregunta david 20.09.2013 - 12:18
fuente

1 respuesta

1

La función php gethostbynamel es una envoltura sobre la función nativa gethostbyname del sistema operativo.
La implementación se puede ver aquí .

Por lo tanto, las mismas vulnerabilidades que se aplican a gethostbyname syscall se aplicarán a su código. No veo ninguna vulnerabilidad gethostbyname existente que pueda molestarme.

Básicamente, mientras esté validando los nombres de host con precisión, debería estar bien.
Consulte esta SO answer y este texto para ayuda en expresiones regulares.

Entre las dos opciones que publicaste, no hacen ninguna diferencia en lo que respecta a las implicaciones de seguridad. gethostbyname es una llamada de red, por lo que hay un tiempo no despreciable asociado con ella. Este puede ser uno de los diferenciadores por los que elegirías usar uno sobre el otro.

    
respondido por el CodeExpress 20.09.2013 - 23:31
fuente

Lea otras preguntas en las etiquetas