
CWE(1) menciona en su sitio web los 25 errores de programación más peligrosos. Algunos de ellos...
- Inyección de código SQL.
- Cross-site scriptiong.
- Inyección de comandos del sistema operativo.
- Envío de información confidencial sin encriptación.
- Race condition: dos o más recursos pelean por el mismo recurso.
- Rutas de búsquedas no restringidas.
- Inicialización inapropiada.
- Descarga de código sin pruebas de integridad.
- Passwords "quemados" en el código.
- Restringir operaciones dentro de un buffer de memoria.
- Uso de un algoritmo de encriptación "roto" o riesgoso.
Los sitios Webs son especialmente inmunes a inyecciones de código y de SQL.
Mis consejos:
- NO confies nunca en las "entradas" de un browser (lo que venga en un POST o GET) ni en lo que venga en una Cookie: rechaza todo lo que parezca código y sólo acepta lo que esperas aceptar. Usa expresiones regulares u otros medios para garantizar que el usuario entró lo que debería.
- Del lado del servidor, haz un log paranónico, incluyendo fecha, hora, IP y actividad y haz que te envíe un mail si detecta cosas extrañas....
- Si usas PHP y mySQL usa mysql_escape_string() antes de crear sentencias SQL al vuelo.
- Rechaza cualquier petición que venga de una lista negra editable.
- En el cliente, haz un ID por usuario una vez que alguien se autentifica con éxito y almacénalo del lado del servidor también. Cualquier operación posterior los dos IDs deben de coincidir.
-------------------------------------------
Link original de los 25 errores, con su explicación y lista completa aqui. Vale la pena la lectura.
Saludos!
---------------------------
(1) = CWE es una inciativa del departamento de seguridad interna de Estados Unidos para el aseguramiento de calidad.
0 comentarios:
Publicar un comentario