Articles of Security

¿Cómo en Django / Python puedo garantizar la seguridad del HTML introducido por WYSIWYG?

Me gustaría eliminar las vulnerabilidades a la inyección XSS / JavaScript en una aplicación web donde los usuarios pueden usar un editor como CKEditor que permite HTML arbitrario (y si mi elección específica de editor permite HTML arbitrario o no, los blackhats podrán enviar datos arbitrarios HTML de todos modos). Así que no hay JavaScript, […]

Validando archivos subidos en Django

Una aplicación de Django en la que estoy trabajando tiene un modelo de Event . Un Event puede tener fotos asociadas, archivos html estáticos y archivos pdf. Me gustaría permitir que los usuarios de confianza carguen estos archivos, pero desconfío de la seguridad, especialmente después de haber leído lo siguiente en los documentos de Django […]

Derechos de acceso a nivel de campo y seguridad en openerp 7

Supongamos que tengo 3 usuarios que son los siguientes: user_employee having access rights Human Resource /Employee group user_officer having access rights Human Resource /officer group user_manager having access rights Human Resource /manager group Para objeto hr_employee(hr.employee) Si estoy conectado como user_manager o user_officer , puedo crear / editar mi propio registro de empleado. Si estoy […]

Dónde almacenar los archivos subidos por el usuario en Django

Estoy creando una aplicación Django donde los usuarios subirán un archivo CSV. Cada fila en el archivo CSV se agregará a la base de datos (después de validar los datos). El archivo puede ser descartado. De la documentación de Django, estoy usando esto para guardar el archivo. def handle_uploaded_file(f): with open(‘some/file/name.txt’, ‘wb+’) as destination: for […]

La mejor manera de interactuar con un servicio con fines de explotación.

Supongamos que tengo un servicio para interactuar. Usando netcat sería algo como esto: > nc 127.0.0.1 8080 hello hi how are you? Quiero automatizar la interacción con este servicio para realizar algún ataque, por ejemplo, cadena de formato. Así que creo un script en Python y eso fue realmente doloroso para que funcionara. Aquí está […]

Hacer que las plantillas HTML hechas por el usuario sean seguras

Quiero permitir que los usuarios creen pequeñas plantillas que luego represento en Django con un contexto predefinido. Supongo que la representación de Django es segura (hice una pregunta sobre esto antes ), pero todavía existe el riesgo de que se realicen secuencias de comandos entre sitios y me gustaría evitarlo. Uno de los requisitos principales […]

Problema de autenticación PAM

Estoy usando este módulo para autenticar usando pam: http://code.google.com/p/web2py/source/browse/gluon/contrib/pam.py Puedo llamar a autenticar (‘nombre de usuario’, ‘contraseña’) y devuelve Verdadero / Falso. Funciona para cualquier ‘nombre de usuario’ pero ‘raíz’. Supongo que hay una restricción de seguridad en PAM que no permite verificar la contraseña de root. Necesito poder comprobar la contraseña de root. ¿Hay […]

¿Cómo puedo prevenir la inyección de SQL en PYTHON-DJANGO?

Si se inserta una entrada lamer en una consulta SQL directamente, la aplicación se vuelve vulnerable a la inyección de SQL, como en el siguiente ejemplo: dinossauro = request.GET[‘username’] sql = “SELECT * FROM user_contacts WHERE username = ‘%s’;” % username Para eliminar las tablas o cualquier cosa – haciendo la consulta: INSERT INTO table […]

Django upload_to fuera de MEDIA_ROOT

Mi script de implementación sobrescribe los medios y los directorios de origen, lo que significa que tengo que mover el directorio de cargas fuera del directorio de medios y reemplazarlo después de que se haya extraído la carga. ¿Cómo puedo ordenar a django que cargue en / uploads / en lugar de / media /? […]

¿Usando DPAPI con Python?

¿Hay alguna forma de usar la interfaz de progtwigción de aplicaciones de protección de datos (DPAPI) en Windows XP con Python? Preferiría usar un módulo existente si hay uno que pueda hacerlo. Desafortunadamente, no he podido encontrar una manera con Google o con Stack Overflow. EDITAR: Tomé el código de ejemplo al que apunta “dF” […]