teslariu

SQL Injection

Oct 4th, 2022
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Ejemplo de inyección SQL
  5.  
  6. from pprint import pprint
  7.  
  8. import sqlite3
  9.  
  10. conn = sqlite3.connect("base.sqlite")
  11. cursor = conn.cursor()
  12.  
  13. nombre = input("Nombre: ")
  14. edad = int(input("Edad: "))
  15.  
  16. # forma no recomendada, susceptible de un ataque de sql injection
  17. # ataque:
  18. # >> Nombre: ALEJANDRO',44);DELETE FROM Personas; --
  19. # >> Edad: 44
  20.  
  21. cursor.executescript(f"INSERT INTO Personas Values('{nombre}', {edad})")
  22. conn.commit()
  23.  
  24.  
  25.  
  26. cursor.execute("SELECT * FROM Personas")
  27. datos = cursor.fetchall()  
  28. if datos:
  29.     pprint(datos)
  30. else:
  31.     print("No hay datos")
  32.  
  33. # cierro la base de datos
  34. conn.close()
  35.  
  36. # analicemos el ataque:
  37. """
  38. INSERT INTO Personas Values('ALEJANDRO',44);DELETE FROM Personas; --', 44
  39. conn.commit()
  40. """
  41.  
  42.  
  43.  
  44.  
  45.  
Add Comment
Please, Sign In to add comment