mirror of
https://github.com/autistic-symposium/sec-pentesting-toolkit.git
synced 2025-05-03 07:14:54 -04:00
crypto modules
This commit is contained in:
parent
f211c1cbab
commit
5fcb5a5cb9
28 changed files with 122 additions and 7 deletions
|
@ -1,75 +0,0 @@
|
|||
"""
|
||||
adapted from Fillipo Valsorda's tutorial
|
||||
august/2014
|
||||
"""
|
||||
|
||||
import os
|
||||
import binascii
|
||||
import md5
|
||||
import urlparse
|
||||
from flask import Flask, request, abort, render_template
|
||||
|
||||
|
||||
PORT = 4242
|
||||
USER_ID = 42
|
||||
USER_NAME = "Jack"
|
||||
API_KEY = binascii.hexlify(os.urandom(16))
|
||||
API_SECRET = binascii.hexlify(os.urandom(16))
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
|
||||
|
||||
def sign_req(values, secret):
|
||||
s = secret
|
||||
for k, v in sorted(values.items()):
|
||||
s += k
|
||||
s += v
|
||||
return md5.MD5(s).hexdigest()
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def show_info():
|
||||
req = {
|
||||
"method": "vimeo.test.login",
|
||||
"api_key": API_KEY
|
||||
}
|
||||
|
||||
return render_template('info.html',
|
||||
user_id=USER_ID, api_key=API_KEY, user_name=USER_NAME,
|
||||
api_sig=sign_req(req, API_SECRET))
|
||||
|
||||
@app.route('/api', methods=['POST'])
|
||||
def handle_api():
|
||||
values = dict(urlparse.parse_qsl(request.get_data()))
|
||||
|
||||
if not 'api_sig' in values: abort(400)
|
||||
if not 'api_key' in values: abort(400)
|
||||
if not 'method' in values: abort(400)
|
||||
|
||||
if values['api_key'] != API_KEY: abort(403)
|
||||
api_sig = values['api_sig']
|
||||
del values['api_sig']
|
||||
if sign_req(values, API_SECRET) != api_sig: abort(403)
|
||||
|
||||
if values["method"] == "vimeo.test.login":
|
||||
return render_template("user.xml", user_id=USER_ID, user_name=USER_NAME)
|
||||
|
||||
elif values["method"] == "vimeo.videos.setFavorite":
|
||||
if not 'video_id' in values: abort(400)
|
||||
if not 'favorite' in values: abort(400)
|
||||
|
||||
if values["video_id"] != '1337': abort(404)
|
||||
|
||||
return render_template("ok.xml")
|
||||
|
||||
else:
|
||||
abort(404)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.debug = True
|
||||
app.run(port=PORT)
|
Loading…
Add table
Add a link
Reference in a new issue