12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- from crypt import *
- from base64 import b64encode,b64decode
- from config import *
- from time import sleep
- import urllib
- from flask import render_template
- secret_msg = {
- 1337:"Welcome Back Administrator, Secret Key: %s" % (FLAGS['po2']),
- 1000:"Superb!"
- }
- def validate_cookie_po1(cookie):
- print("validating cookie: %s" % cookie)
- msg = decrypt(b64decode(cookie))
- if msg == False:
- return '{"Error":"PaddingError"}'
- else:
- print('Debug: decryped cookie: %s' % msg)
- username,pwhash,ar,flag = msg.split(':')
- ar = int(ar)
- for user in app_users:
- if user.username == username and user.pwhash == pwhash:
- # the cookie got a valid username and password
- return render_template("welcome_ch1.html", username=username, rights=ar, secret=secret_msg.get(ar, "--- no message for you ---"))
- else:
- return "<h5>An Error occured.</h5>"
- def validate_cookie_po2(cookie):
- print("validating cookie: %s" % cookie)
- msg = decrypt(b64decode(cookie))
- if msg == False:
- return '{"Error":"PaddingError"}'
- else:
- print('Debug: decryped cookie: %s' % msg)
- username,pwhash,ar,flag = msg.split(':')
- ar = int(ar)
- for user in app_users:
- if user.username == username and user.pwhash == pwhash:
- # the cookie got a valid username and password
- return render_template("welcome_ch2.html", username=username, rights=ar, secret=secret_msg.get(ar, "--- no message for you ---"))
- else:
- return "<h5>An Error occured.</h5>"
- def validate_cookie_po3(cookie):
- msg = decrypt(b64decode(cookie))
- if msg == False:
- # just pretend to have a longer timing
- sleep(1)
- return ''
- else:
- print('Debug: decryped cookie: %s' % msg)
- username,pwhash,ar,flag = msg.split(':')
- ar = int(ar)
- for user in app_users:
- if user.username == username and user.pwhash == pwhash:
- # the cookie got a valid username and password
- return render_template("welcome_ch3.html", username=username, rights=ar, secret=secret_msg.get(ar, "--- no message for you ---"))
- else:
- return "<h5>An Error occured.</h5>"
- def validate_cookie_po4(cookie):
- pass
- def create_cookie_po1(user_obj):
- print('Debug: user_obj: %s' %user_obj)
- user_obj.flag = FLAGS['po1']
- cookie = b64encode(encr(str(user_obj)))
- return cookie
- def create_cookie_po2(user_obj):
- print('Debug: user_obj: %s' %user_obj)
- user_obj.flag = "P{Its-not-that-easy!;)}"
- cookie = b64encode(encr(str(user_obj)))
- return cookie
- def create_cookie_po3(user_obj):
- print('Debug: user_obj: %s' %user_obj)
- user_obj.flag = FLAGS['po3']
- cookie = b64encode(encr(str(user_obj)))
- return cookie
|