#! /usr/bin/python2.7 # Remote python server. # Execute Python commands remotely and send output back. # WARNING: This version has a gaping security hole -- it accepts requests # from any host on the Internet! import sys from socket import * import StringIO import traceback PORT = 4127 BUFSIZE = 1024 def main(): if len(sys.argv) > 1: port = int(eval(sys.argv[1])) else: port = PORT s = socket(AF_INET, SOCK_STREAM) s.bind(('', port)) s.listen(1) while 1: conn, (remotehost, remoteport) = s.accept() print 'connected by', remotehost, remoteport request = '' while 1: data = conn.recv(BUFSIZE) if not data: break request = request + data reply = execute(request) conn.send(reply) conn.close() def execute(request): stdout = sys.stdout stderr = sys.stderr sys.stdout = sys.stderr = fakefile = StringIO.StringIO() try: try: exec request in {}, {} except: print traceback.print_exc(100) finally: sys.stderr = stderr sys.stdout = stdout return fakefile.getvalue() main()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
README | File | 628 B | 0644 |
|
broadcast.py | File | 283 B | 0644 |
|
broadcast.pyc | File | 547 B | 0644 |
|
broadcast.pyo | File | 547 B | 0644 |
|
echosvr.py | File | 738 B | 0755 |
|
echosvr.pyc | File | 827 B | 0644 |
|
echosvr.pyo | File | 827 B | 0644 |
|
finger.py | File | 1.23 KB | 0755 |
|
finger.pyc | File | 1.13 KB | 0644 |
|
finger.pyo | File | 1.13 KB | 0644 |
|
ftp.py | File | 3.84 KB | 0644 |
|
ftp.pyc | File | 2.88 KB | 0644 |
|
ftp.pyo | File | 2.88 KB | 0644 |
|
gopher.py | File | 9.55 KB | 0755 |
|
gopher.pyc | File | 10.08 KB | 0644 |
|
gopher.pyo | File | 10.08 KB | 0644 |
|
mcast.py | File | 2.16 KB | 0755 |
|
mcast.pyc | File | 2.12 KB | 0644 |
|
mcast.pyo | File | 2.12 KB | 0644 |
|
radio.py | File | 287 B | 0644 |
|
radio.pyc | File | 471 B | 0644 |
|
radio.pyo | File | 471 B | 0644 |
|
rpython.py | File | 713 B | 0755 |
|
rpython.pyc | File | 982 B | 0644 |
|
rpython.pyo | File | 982 B | 0644 |
|
rpythond.py | File | 1.18 KB | 0755 |
|
rpythond.pyc | File | 1.3 KB | 0644 |
|
rpythond.pyo | File | 1.3 KB | 0644 |
|
telnet.py | File | 2.94 KB | 0755 |
|
telnet.pyc | File | 2.1 KB | 0644 |
|
telnet.pyo | File | 2.1 KB | 0644 |
|
throughput.py | File | 2.04 KB | 0755 |
|
throughput.pyc | File | 2.42 KB | 0644 |
|
throughput.pyo | File | 2.42 KB | 0644 |
|
udpecho.py | File | 1.43 KB | 0755 |
|
udpecho.pyc | File | 1.98 KB | 0644 |
|
udpecho.pyo | File | 1.98 KB | 0644 |
|
unicast.py | File | 230 B | 0644 |
|
unicast.pyc | File | 456 B | 0644 |
|
unicast.pyo | File | 456 B | 0644 |
|
unixclient.py | File | 232 B | 0644 |
|
unixclient.pyc | File | 424 B | 0644 |
|
unixclient.pyo | File | 424 B | 0644 |
|
unixserver.py | File | 414 B | 0644 |
|
unixserver.pyc | File | 593 B | 0644 |
|
unixserver.pyo | File | 593 B | 0644 |
|