我正在用python2制作一个反向shell。但是,我无法使cd
(change directory)工作。在
以下是server
的代码:
#!/usr/bin/python
import socket
host = socket.gethostname()
port = 1337
s = socket.socket()
s.bind((host, port))
s.listen(1)
while True:
c, addr = s.accept()
print "Accepted connection from", addr
while True:
cmd = raw_input(">>> ")
c.send(cmd)
print c.recv(1024)
s.close()
这是我的client
代码:
我做错什么了?为什么更改目录不起作用?在
编辑:命令行不返回新的>>>
提示符。在
这里的问题是服务器代码期望每个命令都有一个响应,但是对于
cd
命令,客户机没有提供任何响应。在在服务器上有:
但是在客户机中:
^{pr2}$一个简单的解决方案是让
cd
case返回服务器丢弃的OK
响应。在注意,在Python套接字中,
socket.recv()
是blocking operation by default。在相关问题 更多 >
编程相关推荐