python-在FTP服务器上搜索网页

有了FTP服务器的登录口令之后,可以进行测试该服务器是否提供Web服务,其中检测通过nlst()列出的每个文件的文件名是不是默认的Web页面文件名,并把找到的所有默认的网页都添加到retList数组中:

#!/usr/bin/python
#coding=utf-8
import ftplib

def returnDefault(ftp):
    try:
        #nlst()方法获取目录下的文件
        dirList = ftp.nlst()
    except:
        dirList = []
        print '[-] Could not list directory contents.'
        print '[-] Skipping To Next Target.'
        return

    retList = []
    for filename in dirList:
        #lower()方法将文件名都转换为小写的形式
        fn = filename.lower()
        if '.php' in fn or '.asp' in fn or '.htm' in fn:
            print '[+] Found default page: '+filename
            retList.append(filename)
    return retList

host = '10.10.10.130'
username = 'ftpuser'
password = 'ftppassword'
ftp = ftplib.FTP(host)
ftp.login(username,password)
returnDefault(ftp)

【修改后的代码】来自:https://blog.csdn.net/SKI_12

#!/usr/bin/python
#coding=utf-8
import ftplib

def returnDefault(ftp):
    try:
        #nlst()方法获取目录下的文件
        dirList = ftp.nlst()
    except:
        dirList = []
        print '[-] Could not list directory contents.'
        print '[-] Skipping To Next Target.'
        return

    retList=[]
    for fileName in dirList:
        #lower()方法将文件名都转换为小写的形式
        fn = fileName.lower()
        if '.php' in fn or '.htm' in fn or '.asp' in fn:
            print '[+] Found default page: ' + fileName
            retList.append(fileName)

    if len(retList) == 0:
        print '[-] Could not list directory contents.'
        print '[-] Skipping To Next Target.'
        
    return retList

def main():

    while True:
        host = raw_input('[*]Host >>> ')
        username = raw_input('[*]Username >>> ')
        password = raw_input('[*]Password >>> ')

        try:
            ftp = ftplib.FTP(host)
            ftp.login(username,password)
            returnDefault(ftp)
        except:
            print '[-] Logon failed.'

        print

if __name__ == '__main__':
    main()

调用方式:defaultpages2.py -H 192.168.1.1 -u ftpuser -p ftppassword

猜你喜欢

转载自www.cnblogs.com/LyShark/p/9099278.html
今日推荐