Guest User

crackme.py

a guest
May 29th, 2018
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.57 KB | None | 0 0
  1. from flask import Flask, request
  2. import sqlite3
  3. import json
  4.  
  5. # Prepare db
  6. db = sqlite3.connect('temporary_db.sqlite')
  7.  
  8. db.execute("CREATE TABLE IF NOT EXISTS users (username text PRIMARY KEY, password text);")
  9. db.execute("INSERT OR IGNORE INTO users (username, password) VALUES ('admin', '123456');")
  10. db.commit()
  11. db.close()
  12.  
  13. # Create server
  14. app = Flask(__name__)
  15.  
  16. @app.route('/')
  17. def 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')
  36. def 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
  61. app.run(port=8888, debug=True)
Add Comment
Please, Sign In to add comment