Inyección I: Evita Exec

Para mejorar tus habilidades de Python, decides visitar una librería en línea que vende exclusivamente libros de Python para principiantes. Puedes buscar en el sitio estableciendo la variable param en una cadena que contenga tus palabras clave; sin embargo, notas que se produce un error cada vez que tu búsqueda contiene comillas dobles.

Revisas el código Python del sitio y notas que usa exec() para asignar el resultado de tu búsqueda a una variable llamada res. Crea una consulta que copie el diccionario users (que contiene el nombre de usuario y la contraseña de todos) en res.

Ejemplos

param = "your text here"

users = {
  "user1": "password",
  "user2": "password"
}

exec("res = search('%s')" % param)

print(res) ➞ users

Notas

  • Crea una cadena, no una función.
  • El resto de los desafíos de inyección se puede encontrar aquí.