Articles of seguridad de

¿Cómo manejar la información de configuración confidencial al implementar aplicaciones del motor de aplicaciones?

Ejemplo: tengo una aplicación que necesita acceder a una API que proporciona un token de autenticación myApi = MyApi(token=my_private_sensible_token) Quiero evitar tener ese token privado en un archivo de configuración que forma parte del proyecto. Una solución que viene a la mente es aislar la interacción con este servicio en una aplicación proxy separada que […]

¿Es este un uso seguro de python eval ()?

Si un atacante puede controlar el valor de attacker_controlled_nasty_variable , ¿es este segmento de código vulnerable? dic={“one”:1, “nasty”:attacker_controlled_nasty_variable, } store=str(dict) … dic=eval(store)

Entendiendo la inseguridad de Python Pickle

En la documentación de Python se indica que el pickle no es seguro y no debe analizar las entradas de los usuarios que no son de confianza. Si investigas esto; casi todos los ejemplos demuestran esto con una llamada a system() a través de os.system . Lo que no me queda claro es cómo se […]

Python: API de generación de token con su peligroso

Estoy siguiendo el libro “Flask Web Development” para implementar la autenticación basada en token. Básicamente, el usuario se autentica a sí mismo con autenticación básica HTTP y se genera un token para ello: s = Serializer(app.config[‘SECRET_KEY’], expires_in = 3600) token = s.dumps({ ‘id’: user.id }) Pero parece que esto no cambia mientras la id y […]

¿Puede la cadena .format () de Python ser segura para cadenas de formato que no son de confianza?

Estoy trabajando en una aplicación web donde los usuarios podrán suministrar cadenas en las que el servidor sustituirá las variables. Preferiblemente, me gustaría usar la syntax del formato PEP 3101 () y estoy analizando la posibilidad de reemplazar los métodos en Formatter para que sea seguro para una entrada no confiable. Estos son los riesgos […]

Consulta si los hilos de Python. El locking está bloqueado o no

Tengo un subproceso que estoy ejecutando (código a continuación) que inicia un subproceso de locking. Para garantizar que otros subprocesos no inicien el mismo subproceso, tengo un locking alrededor de esta llamada subprocess.call . También quiero poder terminar esta llamada de subproceso, así que tengo una función de parada a la que llamo desde otro […]

Biblioteca segura de Python Markdown

Me gustaría permitir que los usuarios dejen comentarios de texto enriquecido, posiblemente utilizando markdown. He instalado las bibliotecas utilizadas en Reddit, pero estoy preocupado por el ataque de inyección de javascript que ocurrió el año pasado, especialmente porque todavía no tengo claro los detalles de cómo se realizó el ataque. ¿Debo estar preocupado por la […]

¿Cómo pasar de forma segura la contraseña como argumento a un script de Python a través de SSH?

Tengo un script en Python que crea un usuario de Linux, dado un nombre de usuario y una contraseña como argumentos. quiero llamar al script directamente (por ejemplo, ./pass.py ) llame al script en la misma máquina virtual desde python (por ejemplo, subprocess.Popen(‘/pass.py’) ) llame al script desde una máquina virtual diferente desde python sobre […]

Almacenamiento de usuario y contraseña en una base de datos

Estoy creando un software con usuario + contraseña. Después de la autenticación, el usuario puede acceder a algunos servicios semipúblicos, pero también puede cifrar algunos archivos a los que solo el usuario puede acceder. El usuario debe almacenarse tal cual, sin modificaciones, si es posible. Después de la autenticación, el usuario y la contraseña se […]

Cómo verificar si un directorio es un subdirectorio de otro directorio

Me gusta escribir un sistema de plantillas en Python, que permite incluir archivos. p.ej Esta es una plantilla Puede incluir archivos de forma segura con safe_include`othertemplate.rst` Como saben, incluir archivos puede ser peligroso. Por ejemplo, si uso el sistema de plantillas en una aplicación web que permite a los usuarios crear sus propias plantillas, podrían […]