¿Cómo puede alguien ejecutar código arbitrario en el módulo de servidor incorporado de Python? [cerrado]

-1

No estoy seguro de que esta pregunta pueda considerarse inapropiada aquí.

$ python -m http.server

El código fuente 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.

¿Cómo podría alguien ejecutar código si el servidor solo muestra archivos? ¿Hay alguien seguro detrás de los valores predeterminados de UFW? (solo permitiendo el puerto elegido 8000 / tcp)

    
pregunta autorun 28.02.2016 - 02:40
fuente

1 respuesta

2

La advertencia se encuentra bajo el encabezado de

  

Notas sobre CGIHTTPRequestHandler

El controlador CGI se puede usar para ejecutar programas arbitrarios. Si solo quieres servir archivos estáticos, deberías usar SimpleHTTPRequestHandler.

En cualquier caso, los servidores HTTP incluidos en Python no son muchos para los usos de producción, son servidores simples para demostraciones rápidas y carecen de muchas funcionalidades importantes y el refuerzo de seguridad necesario para un entorno de producción.

La nota de firewall es sobre eso: si no controla quién puede conectarse a su máquina local, es posible que tenga un problema de seguridad incluso para las pruebas locales, si tiene un usuario malicioso conectado a la misma red.

    
respondido por el Lie Ryan 28.02.2016 - 04:57
fuente

Lea otras preguntas en las etiquetas