Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- # ejemplo de SQL injection
- import sqlite3
- # Creo una conexión con una base de datos: Si la base no existe, la crea
- conn = sqlite3.connect("prueba.sqlite")
- # Necesito un cursor para hacer las consultas SQL
- cursor = conn.cursor()
- # Vamos a agregar datos como tuplas
- nombre = input("Ingrese un nombre: ")
- edad = int(input("Ingrese una edad: "))
- # Correcto
- # cursor.execute("INSERT into personas VALUES(?,?)",(nombre,edad))
- # Peligroso, da warning (Si estan dehabilitados se me borra la tabla
- # cursor.execute(f"INSERT into personas VALUES('{nombre}',{edad})")
- # Puedo evitar el warning; esto borrará la tabla personas
- cursor.executescript(f"INSERT into personas VALUES('{nombre}',{edad})")
- conn.commit()
- # leemos la tabla personas e imprimimos los datos
- cursor.execute("SELECT * FROM personas")
- personas = cursor.fetchall() # fetchone() devuelve un solo registro
- print(personas)
- # cierro la base de datos
- conn.close()
- # Intento de SQL Injection
- # nombre = Ale',25); DELETE FROM personas; --
- # edad = 36
- # INSERT into personas VALUES('Ale',25); DELETE FROM personas; --',36)")
Advertisement
Add Comment
Please, Sign In to add comment