PHP implicazioni sulla sicurezza di gethostbyname

1

Sto lavorando su un'applicazione PHP. C'è un requisito per trovare IP per nome host e devo ricorrere a gethostbynamel per questo. Sembra che non ci sia altro modo.

Mi stavo chiedendo se ci sono delle implicazioni sulla sicurezza relative a questo. Sto convalidando il nome host dato come input dall'utente finale usando le espressioni regolari.

Ho due opzioni:

  1. Quando l'utente invia un modulo con nome host, convalidarlo e utilizzare gethostbynamel
  2. Quando l'utente invia un modulo con nome host, convalida lo memorizza nel database e usa il processo cron che esegue gethostbynamel

Ci saranno differenze nei metodi sopra?

La sicurezza è la massima priorità per l'applicazione.

    
posta david 20.09.2013 - 12:18
fonte

1 risposta

1

La funzione php gethostbynamel è un wrapper sulla funzione nativa% OS% co_de.
L'implementazione può essere vista qui .

Quindi le stesse vulnerabilità che si applicano a gethostbyname syscall si applicano al tuo codice. Non vedo alcuna vulnerabilità gethostbyname esistente che possa darmi fastidio.

Quindi, fondamentalmente finché si convalidano i nomi degli host con precisione, si dovrebbe andare bene.
Vedi questa risposta SO e questo testo per assistenza su espressioni regolari.

Tra le due opzioni che hai pubblicato, non fanno alcuna differenza per quanto riguarda le implicazioni sulla sicurezza. gethostbyname è una chiamata di rete, quindi vi è un tempo non trascurabile associato ad essa. Questo può essere uno dei fattori di differenziazione per cui sceglieresti di usarne uno sull'altro.

    
risposta data 20.09.2013 - 23:31
fonte

Leggi altre domande sui tag