0x02利用FTP与web批量抓肉鸡 脚本要实现的目标和思路: 先尝试匿名登录ftp,当匿名登录失败时再尝试用用户/密码爆破登录,登录成功后,脚本会搜索ftp中存在的页面,然后下载每个被找到的页面,并向其中注入恶意重定向代码,最后脚本会将被挂马的页面传回ftp服务器,这样任何存在该漏洞的电脑访问服务器的这个页面都会被黑掉。 如果这个ftp服务器还提供web服务的话,那么任何存在该漏洞的电脑访问这个web页面都会被黑掉。 环境: Myftp允许匿名登录 ftp2不允许匿名登录 登录用户 ftpuser 密码
前面描述的基于TCP/UDP协议的网络程序开发,主要是针对传输层协议的底层代码实现 在实际操作过程中,更多的情况是直接操作应用层的数据协议的网络程序开发,如文件传输协议FTP,邮件协议SMTP等等
我们的密码破解工具一共分为如下六个部分,前面四个部分我们都有在之前的文章中介绍过了,点击蓝色字体即可跳转查看。
构建僵尸网络,主要使用的包为pexpect,Pexpect 是一个用来启动子程序并对其进行自动控制的 Python 模块,它可以用来和像 ssh、ftp、passwd、telnet 等命令行程序进行自动交互。
ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp.connect(“IP”,”port”) #连接的ftp sever和端口 ftp.login(“user”,”password”)#连接的用户名,密码 print ftp.getwelcome() #打印出欢迎信息 ftp.cmd(“xxx/xxx”) #更改远程目录 bufsize=1024 #设置的缓冲区大小 filename=”filename.txt” #需要下载的文件 file_handle=open(filename,”wb”).write #以写模式在本地打开文件 ftp.retrbinaly(“RETR filename.txt”,file_handle,bufsize) #接收服务器上文件并写入本地文件 ftp.set_debuglevel(0) #关闭调试模式 ftp.quit #退出ftp ftp相关命令操作 ftp.cwd(pathname) #设置FTP当前操作的路径 ftp.dir() #显示目录下文件信息 ftp.nlst() #获取目录下的文件 ftp.mkd(pathname) #新建远程目录 ftp.pwd() #返回当前所在位置 ftp.rmd(dirname) #删除远程目录 ftp.delete(filename) #删除远程文件 ftp.rename(fromname, toname)#将fromname修改名称为toname。 ftp.storbinaly(“STOR filename.txt”,file_handel,bufsize) #上传目标文件 ftp.retrbinary(“RETR filename.txt”,file_handel,bufsize)#下载FTP文件
Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件
ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
YESTERDAY = TODAY - datetime.timedelta(days=1)
写了这么久,都只是简单的用法,缺少实例,敏感的我,读完以后仿佛感受到看这篇文章的人一股满满的期望与失落混杂的无奈感。放心~当然有实例了。代码已上传Github,代码中加入对文件内容的处理和替换,谢谢随手点赞。
代码在python2.7下测试通过!写在最前面! # -*- coding: UTF-8 -*- from ftplib import FTP import os import os.path #上传文件到FTP服务器 def ftp_upload(filename, save_filename): ftp = FTP() ftp.set_debuglevel(0) # 打开调试级别2,显示详细信息;0为关闭调试信息 ftp.connect('bl
Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下
到此这篇关于python实现从ftp上下载文件的实例方法的文章就介绍到这了,更多相关python怎么实现从ftp上下载文件内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!
底层网络通信协议使用的是套接字,当我们需要进行文件传输、阅读、发送接收电子邮件时,使用的协议与套接字的客户端/服务器端相似,唯一去的区别在于使用TCP/IP这样的底层的协议创建了新的、有专门用途的协议,以此来实现刚刚介绍的服务。
这两天比较闲,于是又捡起之前学了一点的python。也不知道用python做一个什么东西,但是如果不做个小工具,那python学了也是会很快就忘掉的。这时,突然想起来之前做的一个网站,里面有一些日志,拿python去处理这些日志岂不是很合适?
原来直接在shell下操作:需要【连接,输用户名,输密码,单文件操作,存在超时限制】
在内网检测中,弱口令扫描是必不可少的环节,选择一个好用的弱口令扫描工具,尤为重要。
python ftp 上传文件 #!/usr/bin/env python #-*- coding: utf-8 -*- from ftplib import FTP #调用 模块 import sys,getpass,os.path #调用 模块 host = '192.168.1.101' #ftp地址 port = 21 #端口号 timenout = 30 #超时时间 username = 'ap
流行的有文件传输协议(FTP),Unix-to-Unix复制协议(UUCP),以及网页的超文本传
[ 推荐文章 ] Python 地图篇 - 使用 pyecharts 绘制世界地图、中国地图、省级地图、市级地图实例详解
cat getLatestFTP.py #!/usr/bin/python import ftplib import os import socket HOST = 'ftp.mozilla.org' DIRN = 'pub/mozilla.org/webtools' FILE = 'bugzilla-LATEST.tar.gz' def main(): try: f = ftplib.FTP(HOST) except (socket.error,socket.gaierro
之前解决了一个 Python 的 UnicodeEncodeError 问题,比较具有代表性,特此分享一下,希望可以帮到遇到此类问题的朋友。
如果只是想下载文件,那么urllib2模块就可以轻松完成这个任务,而且比FTP更简单,但是FTP一些特殊功能urllib2模块不具备。(网络编程基础P277)
有个小姐姐要从历史数据日志里根据一定的规则筛选一批数据,这批数据中有对局战场id字段,再根据这些id转化为文件名,连接远程FTP搜索该文件并下载到本地,然后打开文件删除前5行并在第6行行首添加一个字母,最后将该文件后缀名修改。 一天处理50+个这样的文件转化需求,简单算了下,差不多刚好要一天时间吧!!
1、HTTP主要用于基于Web的文件下载以及访问Web服务,一般客户端无须登录就可以访问服务器上的文件和服务。大部分HTTP文件传输请求都用于获取网页(即将网页文件下载到本地)。 2、FTP主要用于匿名下载公共文件,也可以用于两台计算机之间传输文件。FTP要求输入用户名和密码才能访问FTP服务器,但也允许没有账号的用户匿名登录。不过管理员要先设置FTP服务器以允许匿名用户登录。这时,匿名用户的用户名是“anonymous”,密码一般是用户的电子邮件地址。 工作流程: ①客户端连接远程主机上的FTP服务器。
import ftplib import optparse import time
在Python中,你可以通过文件操作函数(如open()函数)以及模拟输入输出流的库(如io模块)来模拟文件行为。下面是一些示例,展示了如何使用这些工具在Python中模拟文件行为。
实际去安装一些FTP软件比较困难,我这里就用Metasploitable Linux
使用的ftp包:pyftpdlib pip install pyftpdlib就可以下载安装了
前言 FTP(File Transfer Protocol)是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是用户使用FTP下载(download)或获取(get)操作从FTP服务器上下载文件 在传输文件时我们可能会选择sftp和ftp两种协议中的一种,两者的主要区别在于安全与传输速度,FTP传输数据的过程,他们在不同协议下的默认端口号是不同的,它有两种传输模式:主动传输模式(PORT)和被动传输模式(PASSIVE,简称PASV),关于FTP相关内容这里就不做详细数明了,这里将以python语言实现其功能
公司正好有个需求,定期从远端ftp下载指定昨天的数据,写了2个函数,一个是连接远端ftp,另一个是定期下载远端数据,用到了ftplib、datetime和正则re三个模块
代码之余,将代码过程重要的一些代码段备份一下,如下的代码内容是关于Python从ftp服务器下载文件的的代码,希望能对小伙伴有用途。
import ftplib # socket-based FTP tools
昨晚心血来潮,尝试用python写了一个ftp文件传输服务,可以接收指令,从远程ftp服务器同步指定目录数据,最后没用上,开源出来。
import os, sys, ftplib from getpass import getpass from mimetypes import guess_type
简单写个小程序实现华为交换机配置备份,代码如下: # more ftp-huawei.py # -*- coding=utf-8 -*- from ftplib import FTP import time,os hostid="192.168.10.100" Today = time.strftime("%Y-%m-%d", time.localtime())#获取当天时间 ftp = FTP()#创建变量 ftp.set_debuglevel(2)#开启debug模式 ftp.connect(h
Excel是很多公司非常流行的工具,数据分析师和数据科学家经常发现他们把它作为数据分析和可视化工具的一部分,但这并不总是最好的选择。
注意事项:需要注意的是, sqlite安装完成之后需要进行重新编译python, 需要注意的是,sqlite安装完成之后需要进行重新编译python 1.下载并源码编译python3 #wget https://www.python.org/ftp/python/3.4.5/Python-3.4.5.tar.xz # xz -d Python-3.4.5.tar.xz # tar xf Python-3.4.5.tar -C /usr/local/src/ # cd /usr/local/src/Pytho
之前我们讲过一些python的模块,如chardet、pygame,这些模块不包含在python的默认代码中,需要从外部下载并安装。有些模块提供了自动安装的文件,比如pygame的windows版本,直接双击安装就可以。但大多数模块没有提供这样的安装方式,有些同学没能成功安装而导致无法在程序中引入模块。在这里,介绍一下python模块几种常见的安装方法。 1. 直接copy 下载的模块文件中已经有了模块的文件,有些模块只有一个文件,比如较早版本的BeautifulSoup,有些是一个文件夹,比如新版本Be
客户这里,有很多华为S系列交换机,基本时都是2700,5700系列。数量很多,原来都是手工登陆备份,费时,费力。后来想用python脚本备份交换机配置文件。 思路: 1、华为交换机的配置文件都是以vrpcfg.zip文件方式保存在交换机内存中 2、华为的交换机都支持ftp服务器 3、使用python3脚本批量备份保存在windows主机指定目录 4、有些设备可能故障等原因,无法进行备份,需要记录失败日志
朋友公司有一台ERP服务器做了定时输出备份,设置输出的目录是D:\backup\年月日 目录,其中当前日期(类似20171011)这个是服务器定时备份时自动生成并输出到这个目录。想自动备份到远程服务器,实现数据异地备份。
#!/usr/bin/env python import time from ftplib import FTP local_dir_update="*****" local_dir_download="*******" remote_host="*.*.*.*" port="21" remote_user="name" remote_passwd="password" ftp=FTP() ftp.set_debuglevel(2) ftp.connect(remote_host,port) ftp.login(remote_user,remote_passwd) print ftp.getwelcome() #ftp.cwd() bufsize = 1024 filename='ha.txt' file_handler = open(filename,'rb') ftp.storbinary('STOR ha.txt',file_handler,bufsize) ftp.set_debuglevel(0) file_handler.close() ftp.quit()
完全是循环,目录的进行循环操作,而文件下载。最底层目录的文件下载完,回归上级目录。继续循环。
最近做了一个简单的文件传输系统,基于ftp协议,使用python语言开发,虽然python里面已经有ftplib模块,可以很容易的实现ftp服务器。这次我使用的是socket实现client与ftp server之间的通讯和文件传输,client另起一个flask服务器,用于用户在浏览器端的交互。系统实现的功能有:用户登录注册,用户查看ftp服务器端文件和下载上传删除操作,支持多进程、多用户。
import os, sys, ftplib from getpass import getpass from mimetypes import guess_type, add_type
当我朋友圈被代购侵犯时,觉得什么东西都好便宜的,有代购包的,潮牌的,化妆品的,一堆一堆的…当时我的心情是这样的
python网络编程基础 ================== Author: lujun9972 <lujun9972@X41> Date: 2013-03-08 22:29:20 CST Table of Contents ================= 1 客户端与服务器端 1.1 使用inetd或xinetd 1.2 在python中使用syslog 2 域名系统 2.1 正向查找 2.2 反向查找 2.3 获得运行程序机器的域名信息 2.4 使用pyDNS 3 高级网络操作 3.1 半开发socket 3.2 超时 3.3 广播数据 3.4 使用poll()或select()实现事件通知 3.5 urllib2 4 解析HTML和XHTML 4.1 使用HTMLParser模块解析HTML 4.2 XML和XML-RPC 4.2.1 DOM模型 4.2.2 xmlrpclib库 5 E-mail服务 5.1 E-mail的编写和编码 5.2 SMTP 5.3 POP协议 5.4 IMAP协议 6 FTP 7 数据库 8 SSL 9 SocketServer 10 SimpleXMLRPCServer 1 客户端与服务器端 ~~~~~~~~~~~~~~~~~~~ 1. socket().makefile(操作文件模式,是否开启缓存模式)方法能够使得socket变得像file一样读写 缓存一般用在磁盘文件中,在socket环境中,一般不开启缓存,将该值设为0 2. socket.getservbyname(协议名,udp/tcp) 查询服务端口 3. socket().getsockname() /socket().getpeername() #获取地址与端口信息 4. socket异常: 异常 说明 -----------------+------------------------------------------------ socket.error 与一般IO和通讯问题有关 -----------------+------------------------------------------------ socket.gaierror 与查询地址信息有关的 -----------------+------------------------------------------------ socket.herror 与其他地址错误有关 -----------------+------------------------------------------------ socket.timeout 与在一个socket上调用settimeout后,处理超时有关 5. 对于很多操作系统来说,有时候在网络上发送数据的调用会在远程服务器确保已经收到信息之前返回。因此很有可能一个来自对sendall成功调用的数据,事实上并没有被成功收到 为了解决这个问题,一旦结束写操作,你就应该立刻调用shutdown函数,这样就会强制清除缓存里面的内容内容,同时如果有任何问题就会产生一个异常 请牢记,数据只有在调用了shutdown函数后才能确保被发送 需要注意的是,makefile()返回的对象并不提供一个对shutdown()的调用,股必须保持原始的socket对象并使用它 6. setsockopt(level,optname,value) getsockopt(level,optname[,buflen]) level定义了哪个选项将被使用。通常情况下是SOL_SOCKET 选项 意义
领取专属 10元无门槛券
手把手带您无忧上云