È pericoloso pubblicare file cgi eseguibili nella cartella pubblica?

0

In passato, Apache era solito servire file cgi solo dalla cartella cgi-bin , e si consigliava sempre di evitare di inserire file eseguibili nelle cartelle pubbliche. Tuttavia, i server Web di oggi servono in modo imparziale file cgi eseguibile da qualsiasi luogo.

Qual è il rischio per la sicurezza di servire pagine Web direttamente dai file cgi eseguibili? Ad esempio, qual è il rischio per http://example.com/hello.cgi in cui il file eseguibile di hello.cgi si trova nella directory radice (pubblica)? (confrontando con un file PHP non eseguibile di hello.php)?

Naturalmente, gli script cgi sono praticamente serviti tramite FastCGI per mantenere la connessione, ma ha anche una sicurezza migliore?

    
posta Googlebot 26.09.2012 - 19:44
fonte

1 risposta

2

In breve, separare i file CGI, che sono spesso script, rende più semplice garantire che il server Web non restituisca mai erroneamente il testo dello script al client anziché eseguire il CGI e restituire i risultati. Se lo script "codice sorgente" viene rivelato al cliente, può esporre informazioni sensibili, come password di connessione al database incorporato o solo informazioni su come lo script viene eseguito che potrebbe essere abusato da un utente malintenzionato.

Ad esempio, l'intera directory / cgi-bin è solitamente configurata per eseguire file e mai per restituire il contenuto. Se modifichi hello.cgi e lasci un file di backup dell'editor hello.cgi~ dietro, il server non dovrebbe mai restituire quel file come contenuto se / cgi-bin è configurato correttamente. D'altra parte, se quel file di backup si trova in una normale web root che serve i file, allora la mappatura magica di ".cgi - > execute" non avrà effetto per il file hello.cgi~ , e il server potrebbe quindi restituisci il contenuto di hello.cgi~ invece di eseguirlo.

    
risposta data 26.09.2012 - 19:51
fonte

Leggi altre domande sui tag