diff --git a/rendu.md b/rendu.md index ac5053a8eb92eafbd060d5b9afcacb4cb0a6c720..c7dce8db0b5e7c39cda4a56becffb1d75838f804 100644 --- a/rendu.md +++ b/rendu.md @@ -43,8 +43,15 @@ curl -X POST -F "chaine=Drop','8.8.8.8'); DELETE chaine WHERE 1=1 #" localhost:8 ## Question 4 -Rendre un fichier server_correct.py avec la correction de la faille de -sécurité. Expliquez comment vous avez corrigé la faille. +On corrige cette faille avec la ligne suivante : +```py +requete = "INSERT INTO chaines (txt,who) VALUES( %s , %s )" +v = (post["chaine"], cherrypy.request.remote.ip) +cursor.execute(requete, v) +``` +La 1er ligne est la pour créé des requetes paramétrique et cette requette prend les parametre dans un scegond temps aprés +une verification par la librairei python. + ## Question 5 diff --git a/server_correct.py b/serveur_correct.py similarity index 92% rename from server_correct.py rename to serveur_correct.py index e52a0e56811de8be00b6bb8d5394f0e9ef433003..461bf8c0f98679614a19b320c3fa72ab58f51bb5 100644 --- a/server_correct.py +++ b/serveur_correct.py @@ -12,14 +12,14 @@ class VulnerableApp(object): def index(self, **post): cursor = self.conn.cursor() if cherrypy.request.method == "POST": - requete = """INSERT INTO chaines (txt,who) VALUES( %s , %s )""" + requete = "INSERT INTO chaines (txt,who) VALUES( %s , %s )" v = (post["chaine"], cherrypy.request.remote.ip) print("req: [" + requete + "]") cursor.execute(requete, v) self.conn.commit() chaines = [] - cursor.execute("SELECT txt,who FROM chaines"); + cursor.execute("SELECT txt,who FROM chaines") for row in cursor.fetchall(): chaines.append(row[0] + " envoye par: " + row[1])