Skip to content

Commit 8f62419

Browse files
committed
changed from Element Tree
avoids escaping
1 parent 3c55f7d commit 8f62419

File tree

1 file changed

+7
-12
lines changed
  • injection/teacher-login-6

1 file changed

+7
-12
lines changed

injection/teacher-login-6/server

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,15 @@ def login():
2929
def add():
3030
username = flask.request.form.get("user", "")
3131

32-
try:
33-
tree = ET.parse("users.xml")
34-
root = tree.getroot()
35-
except Exception:
36-
root = ET.Element("users")
37-
tree = ET.ElementTree(root)
32+
current = open("users.xml").read().strip() or "<users></users>"
3833

39-
new_user = ET.SubElement(root, "user")
40-
name_el = ET.SubElement(new_user, "username")
41-
name_el.text = username
42-
is_teacher_el = ET.SubElement(new_user, "is_teacher")
43-
is_teacher_el.text = "no"
34+
if current.endswith("</users>"):
35+
current_body = current[:-8]
36+
else:
37+
current_body = "<users>"
4438

45-
tree.write("users.xml")
39+
new_entry = f"""<user><username>{username}</username><is_teacher>no</is_teacher></user>"""
40+
open("users.xml", "w").write(f"{current_body}{new_entry}</users>")
4641
return flask.redirect("/")
4742

4843
@app.route("/", methods=["GET"])

0 commit comments

Comments
 (0)