Skip to content

Instantly share code, notes, and snippets.

@Romain-P
Last active September 28, 2018 09:20
Show Gist options
  • Save Romain-P/ac42249568f42a55d6e019dc141eb570 to your computer and use it in GitHub Desktop.
Save Romain-P/ac42249568f42a55d6e019dc141eb570 to your computer and use it in GitHub Desktop.
import SimpleHTTPServer
import SocketServer
import re
def encrypt(plaintext):
#TODO: encryption AES-128-ECB
cypher = 'cyphertext should be returned here as base64'
return cypher
class ServerHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_POST(self):
if re.search('/challenge10', self.path) != None:
content_len = int(self.headers.getheader('content-length', 0))
plaintext_base64 = self.rfile.read(content_len)
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write(encrypt(plaintext_base64))
Handler = ServerHandler
httpd = SocketServer.TCPServer(("", 5000), Handler)
print "server on port ", 5000
httpd.serve_forever()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment