Come può qualcuno eseguire codice arbitrario sul modulo server integrato di Python? [chiuso]

-1

Non sono sicuro che questa domanda possa essere considerata inappropriata qui.

$ python -m http.server

Il codice sorgente dice:

# https://hg.python.org/cpython/file/3.5/Lib/http/server.py#l21

SECURITY WARNING: DON'T USE THIS CODE UNLESS YOU ARE INSIDE A FIREWALL
-- it may execute arbitrary Python code or external programs.

Come potrebbe qualcuno eseguire codice se il server mostra solo file? Qualcuno è al sicuro dietro i default UFW? (è sufficiente consentire la porta scelta 8000 / tcp)

    
posta autorun 28.02.2016 - 02:40
fonte

1 risposta

2

L'avviso è sotto l'intestazione di

Notes on CGIHTTPRequestHandler

Il gestore CGI può essere utilizzato per eseguire un programma arbitrario. Se vuoi solo servire file statici, dovresti utilizzare SimpleHTTPRequestHandler.

In entrambi i casi, i server HTTP inclusi in python non sono molti per gli usi di produzione, sono semplici server per demo veloci e mancano di molte funzionalità importanti e di protezione avanzata necessarie per un ambiente di produzione.

La nota del firewall parla di questo, se non si controlla chi può connettersi al proprio computer locale, si può avere un problema di sicurezza anche per i test locali, se si ha un utente malintenzionato connesso alla stessa rete.

    
risposta data 28.02.2016 - 04:57
fonte

Leggi altre domande sui tag