⚠️ Inyecci贸n SQL a trav茅s de f-string
Si insertas valores directamente en SQL mediante f-string, un atacante puede ejecutar cualquier c贸digo en la base de datos:
name = "Alice'; DROP TABLE accounts; --"
query = f"SELECT * FROM accounts WHERE name = '{name}'"
conn.sql(query)
馃挜 ¡Y la tabla accounts
ha sido eliminada!
¿Por qu茅 sucede esto?
Porque la cadena con el nombre se inserta tal cual y se interpreta como parte de la consulta SQL.
✅ La forma correcta es usar par谩metros:
name = "Alice'; DROP TABLE accounts; --"
query = "SELECT * FROM accounts WHERE name = ?"
conn.sql(query, params=(name,))
✔ El nombre se busca como texto, y la base permanece segura.
馃憠 Recuerda:
Nunca insertes datos de usuario directamente en SQL.
Usa consultas parametrizadas — es una protecci贸n confiable contra inyecciones SQL.
@debsconsultores
0 comentarios:
Publicar un comentario
¿Tienes alg煤n comentario? ¿Qu茅 te ha parecido este art铆culo? Cu茅ntalo.