fulian23 1 week ago
commit
d65f1c8f05
1 changed files with 49 additions and 0 deletions
  1. 49 0
      main.py

+ 49 - 0
main.py

@@ -0,0 +1,49 @@
+from flask import Flask, request, render_template_string
+import sqlite3
+import pickle
+import os
+
+app = Flask(__name__)
+app.secret_key = os.urandom(16)
+
+
[email protected]('/xss')
+def xss():
+    name = request.args.get('name', '')
+    return f'<h1>Hello {name}</h1>'
+
+
[email protected]('/login', methods=['POST'])
+def login():
+    username = request.form['username']
+    password = request.form['password']
+    conn = sqlite3.connect('test.db')
+    cursor = conn.cursor()
+    query = f"SELECT * FROM users WHERE username='{username}' AND password='{password}'"
+    cursor.execute(query)
+    return "Login success" if cursor.fetchone() else "Failed"
+
+
+('/deserialize', methods=['POST'])
+def deserialize():
+    data = request.get_data()
+    obj = pickle.loads(data)
+    return str(obj)
+
[email protected]('/buffer_overflow')
+def buffer_overflow():
+    buffer = ['A'] * 64
+    user_input = request.args.get('input', '')
+    for i in range(len(user_input)):
+        buffer[i] = user_input[i]
+    return ''.join(buffer)
+
+
[email protected]('/read_file')
+def read_file():
+    filename = request.args.get('file', '')
+    with open(filename, 'r') as f:
+        return f.read()
+
+if __name__ == '__main__':
+    app.run(debug=True)