Fixed potential exploit in the change pass page

This commit is contained in:
Benjamyn Love 2020-02-26 14:39:18 +11:00
parent d521256e21
commit f7b09daf01
2 changed files with 10 additions and 4 deletions

12
shop.py
View File

@ -17,7 +17,7 @@ def createSession(res):
def refreshSession(id): def refreshSession(id):
list_ids = db.get_list_ids(int(session["id"])) list_ids = db.get_list_ids(int(session["id"]))
print(list_ids) # print(list_ids)
session["list_ids"] = None session["list_ids"] = None
session["list_ids"] = list_ids session["list_ids"] = list_ids
# print(session["list_ids"]) # print(session["list_ids"])
@ -40,7 +40,7 @@ def index():
@application.route('/post', methods=['POST']) @application.route('/post', methods=['POST'])
def handle_data(): def handle_data():
print(request.form) # print(request.form)
if "addValue" in request.form: if "addValue" in request.form:
for x in request.form: for x in request.form:
if request.form[x] == '': if request.form[x] == '':
@ -69,9 +69,15 @@ def handle_data():
db.add_user(userData) db.add_user(userData)
return redirect(url_for("admin")) return redirect(url_for("admin"))
if "newpass" in request.form: if "adminpass" in request.form:
user_id = request.form['updatepass'] user_id = request.form['updatepass']
newpass = request.form['adminpass']
db.update_pass(user_id, newpass)
return redirect(url_for("admin"))
if "newpass" in request.form:
newpass = request.form['newpass'] newpass = request.form['newpass']
user_id = session["id"]
db.update_pass(user_id, newpass) db.update_pass(user_id, newpass)
return redirect(url_for("index")) return redirect(url_for("index"))

View File

@ -18,7 +18,7 @@
<td>{% if x[1] == 1 %} Yes {% else %} No {% endif %}</td> <td>{% if x[1] == 1 %} Yes {% else %} No {% endif %}</td>
<td align="right"> <td align="right">
<form action="/post" method="POST"><input style="width: 70%; display: inline;" <form action="/post" method="POST"><input style="width: 70%; display: inline;"
class="form-control" type="text" name="newpass" id="addbox"><button class="form-control" type="text" name="adminpass" id="addbox"><button
class="btn btn-secondary" type="submit" name="updatepass" value="{{x[2]}}"> Change class="btn btn-secondary" type="submit" name="updatepass" value="{{x[2]}}"> Change
Password </button></form> Password </button></form>
</td> </td>