· 8 years ago · May 29, 2018, 07:52 PM
1from flask import Flask, request
2import sqlite3
3import json
4
5# Prepare db
6db = sqlite3.connect('temporary_db.sqlite')
7
8db.execute("CREATE TABLE IF NOT EXISTS users (username text PRIMARY KEY, password text);")
9db.execute("INSERT OR IGNORE INTO users (username, password) VALUES ('admin', '123456');")
10db.commit()
11db.close()
12
13# Create server
14app = Flask(__name__)
15
16@app.route('/')
17def home():
18 return '''<!DOCTYPE html>
19<html>
20 <head>
21 <title>Hack me!</title>
22 </head>
23 <body>
24 <center>
25 <form action="/login">
26 <input placeholder="Username" type="text" name="user" /><br/><br/>
27 <input placeholder="Password" type="text" name="pass" /><br/><br/>
28 <input type="submit" value="Login!" /><br/>
29 </form>
30 </center>
31 </body>
32</html
33 '''
34
35@app.route('/login')
36def login():
37 db = sqlite3.connect('temporary_db.sqlite') # Open db
38
39 result = []
40
41 username = request.args.get('user')
42 password = request.args.get('pass')
43
44 query = "SELECT username FROM users WHERE username='" + username + "' and password='" + password + "';"
45 result.append("Running query: " + query + "\n")
46
47 cursor = db.cursor()
48 cursor.execute(query)
49 query_result = cursor.fetchall()
50 result.append(str(len(query_result)) + " results: " + json.dumps(query_result))
51
52 if len(query_result) == 0:
53 result.append("Bad user/pass, no session for you >:(")
54 else:
55 result.append("Welcome " + query_result[0][0] + " ;)")
56
57 return '\n<br/>'.join(result)
58
59
60## Start server
61app.run(port=8888, debug=True)