import SocketServer
import SimpleHTTPServer
import urlparse
port = 80
class CustomHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
blah = self.path
good = urlparse.urlparse(blah)
if "Cookie" in self.headers:
print "here"
if self.headers[\'Cookie\'] == "sessionid=super_secret_session":
print "yay"
self.send_response(200)
self.send_header(\'Content-type\',\'text/html\')
self.end_headers()
self.wfile.write("<html>You are now logged in as Admin</html>")
return
if "user=admin&pass=thisismypassword" in good.query:
self.send_response(200)
self.send_header(\'Content-type\',\'text/html\')
self.send_header(\'Set-Cookie\',\'sessionid=super_secret_session\')
self.end_headers()
self.wfile.write("<html>Welcome to our site you now have a session ID </html>")
return
else:
try:
if "user=admin&pass=thisismypassword" not in good.query:
output = "".join(urlparse.parse_qs(good.query)[\'user\'])
self.send_response(200)
self.send_header(\'Content-type\',\'text/html\')
self.end_headers()
self.wfile.write("<html>Unknown username: "+output+" </html>")
return
except:
print "nope"
self.send_response(200)
self.send_header(\'Content-type\',\'text/html\')
self.end_headers()
self.wfile.write("""<html><form action="login.html" method="get"><br>
username: <input type="text" name="user"><br> password: <input type="password" name="pass"><br>
<input type="submit" value="Submit">
</form></html>""")
return
httpd = SocketServer.ThreadingTCPServer((\'0.0.0.0\', port),CustomHandler)
print "Server running at address 0.0.0.0 on port ", port
httpd.serve_forever()