import sqlite3
conn = sqlite3.connect(":memory:")
cursor = conn.cursor()
# Creem una taula pels usuaris
cursor.execute("CREATE TABLE users (username TEXT, password TEXT)")
cursor.execute("INSERT INTO users VALUES ('admin', 'admin123')")
cursor.execute("INSERT INTO users VALUES ('pepe', 'pepe123')")
conn.commit()
# Funció vulnerable
def login_vulnerable():
username = input("Nom d'usuari:")
password = input("Contrasenya:")
query = f"SELECT * FROM users WHERE username = '{username}' AND password = '{password}'"
print ("Consulta sql: ", query)
cursor.execute(query)
result = cursor.fetchone()
if result:
print("Accés concedit")
else:
print("Credencials incorrectes")
def login_segur():
username = input("Nom d'usuari:")
password = input("Contrasenya:")
query = "SELECT * FROM users WHERE username = ? AND password = ?"
cursor.execute(query,(username,password))
result = cursor.fetchone()
if result:
print("Accés concedit")
else:
print("Credencials incorrectes")
print("1 --> Login vulnerable")
print("2 --> Login segur")
opcio = input ("Tria una opció: ")
if opcio == "1":
login_vulnerable()
elif opcio == "2":
login_segur()
else:
print("Opció no vàlida")