Guest User

Untitled

a guest
Feb 21st, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. import os
  2. import socket
  3. import threading
  4. import time
  5. import SocketServer
  6. from base64 import *
  7.  
  8. host, port = 'localhost', 33338
  9. buffer = 4096
  10. flag = "zStep1k_st3p1k!!"
  11. class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
  12. allow_reuse_address = True
  13.  
  14. class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
  15.  
  16.  
  17. def handle(self):
  18.  
  19. def xor(mess,key):
  20. cipher = ''
  21. for i,j in zip(mess,key):
  22. cipher+= chr(ord(i)^ord(j))
  23. return cipher
  24.  
  25. key = 'OMG_YOU_BREAK_IT'
  26. mess = self.request.recv(buffer).strip()
  27. if len(mess) > 16:
  28. self.request.sendall("Oops, too l0ng!!\n")
  29. self.request.close()
  30. elif len(mess) < 16:
  31. self.request.sendall("Opps, too sh0rt!!\n")
  32. self.request.close()
  33. else:
  34. file = open('RGB.png','r').read()
  35. temp = open('tmp','w').write(xor(mess,key)).encode('hex'))
  36. os.system("stepic -e -i RGB.png -t tmp -o fake.png")
  37. fl = open('fake.png').read()
  38. self.request.sendall(b64encode(fl))
  39. os.system('rm -rf fake.png | rm -rf tmp')
  40. self.request.close()
  41.  
  42.  
  43. while True:
  44. server = ThreadedTCPServer((host, port), ThreadedTCPRequestHandler)
  45.  
  46. # Start a thread with the server -- that thread will then start one
  47. # more thread for each request
  48. server_thread = threading.Thread(target=server.serve_forever)
  49. # Exit the server thread when the main thread terminates
  50. server_thread.daemon = True
  51. server_thread.start()
  52. print "Server loop running in thread:", server_thread.name
  53. server_thread.join()
Add Comment
Please, Sign In to add comment