Articles of seguridad

Restricción de la syntax de Python para ejecutar el código de usuario de forma segura. ¿Es este un enfoque seguro?

Pregunta original: Ejecutando un código de usuario matemático en un servidor web de Python, ¿cuál es la forma segura más simple? Quiero poder ejecutar el código enviado por el usuario en un servidor web de Python. El código será simple y matemático por naturaleza. Como se requiere un pequeño subconjunto de Python, mi enfoque actual […]

¿Cómo protegerme de una bomba gzip o bzip2?

Esto está relacionado con la pregunta sobre las bombas zip , pero teniendo en cuenta la compresión gzip o bzip2, por ejemplo, un servicio web que acepta archivos .tar.gz . Python proporciona un módulo tarfile práctico que es conveniente de usar, pero que no parece proporcionar protección contra zipbombs. En el código Python que utiliza […]

¿Cómo puedo protegerme de una bomba zip?

Acabo de leer sobre bombas zip , es decir, archivos zip que contienen una gran cantidad de datos altamente compresibles (0000000000000000000 …). Cuando se abren llenan el disco del servidor. ¿Cómo puedo detectar que un archivo zip es una bomba zip antes de descomprimirlo? ACTUALIZACIÓN ¿Puede decirme cómo se hace esto en Python o Java?

Python 3, ¿Existen agujeros de seguridad conocidos en ast.literal_eval (node_or_string)?

¿Hay alguna forma conocida para que la evaluación de ast.literal_eval (node_or_string) no sea realmente segura? Si es así, ¿hay parches disponibles para ellos? (Ya sé sobre PyPy [caja de arena], que es probablemente más seguro, pero a menos que las respuestas sean sí, entonces no, mis necesidades son lo suficientemente pequeñas como para que no […]

¿Es este código de Python vulnerable a la inyección de SQL? (SQLite3)

Como sugiere el título, me gustaría saber si este código es vulnerable a la inyección SQL. Y si es así, ¿existe una forma mejor y más segura de lograr lo mismo? def add(table,*args): statement=”INSERT INTO %s VALUES %s” % (table,args) cursor.execute(statement)

Cambiar a usuario sudo dentro de un script de python

Tengo un problema. Estoy escribiendo una pieza de software, que se requiere para realizar una operación que requiere que el usuario esté en modo sudo. ejecutar ‘sudo python filename.py’ no es una opción, lo que me lleva a mi pregunta. ¿Existe alguna forma de cambiar a sudo a la mitad de un script de Python? […]

Sandboxing en Linux

Quiero crear una aplicación web que permita al usuario cargar algo de código C y ver los resultados de su ejecución (el código se comstackrá en el servidor). Los usuarios no son de confianza, lo que obviamente tiene enormes implicaciones de seguridad. Así que necesito crear algún tipo de caja de arena para las aplicaciones. […]

Marca los datos como sensibles en Python

Necesito almacenar la contraseña de un usuario durante un corto período de tiempo en la memoria. ¿Cómo puedo hacer que aún no se haya revelado accidentalmente dicha información en coredumps o rastreadores? ¿Hay una manera de marcar un valor como “sensible”, para que no sea guardado por un depurador?

¿Crear un FIFO temporal (tubería con nombre) en Python?

¿Cómo se puede crear un FIFO temporal (canalización con nombre) en Python? Esto debería funcionar: import tempfile temp_file_name = mktemp() os.mkfifo(temp_file_name) open(temp_file_name, os.O_WRONLY) # … some process, somewhere, will read it … Sin embargo, tengo dudas debido a la gran advertencia en Python Docs 11.6 y su posible eliminación porque está en desuso. EDITAR : […]

Necesito almacenar de forma segura un nombre de usuario y una contraseña en Python, ¿cuáles son mis opciones?

Estoy escribiendo un pequeño script de Python que periódicamente obtendrá información de un servicio de terceros utilizando un combo de nombre de usuario y contraseña. No necesito crear algo que sea 100% a prueba de balas (¿existe el 100%?), Pero me gustaría involucrar una buena medida de seguridad, por lo menos al menos le tomaría […]