Exemple #1
0
def Main(Url,FileName,Values,ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua=UserAgentS(Values)#传入用户输入用户指定的浏览器头
    RandomAgent=ua.UserAgent()#获取生成的头文件
    Medusa = [Mongo_expressRemoteCodeExecutionVulnerability.medusa(Url,RandomAgent,ProxyIp)]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Mongo plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #2
0
def Main(Url,FileName,Values,ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua=UserAgentS(Values)#传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  # 获取生成的头文件
    Medusa = [Weaver_db_disclosure.medusa(Url, RandomAgent, ProxyIp),Weaver_sqli.medusa(Url, RandomAgent, ProxyIp),Weaver_filedownload.medusa(Url, RandomAgent, ProxyIp),Weaver_CommandExecution.medusa(Url, RandomAgent, ProxyIp),Weaver_WorkflowCenterTreeDataInterfaceInjectionVulnerability.medusa(Url, RandomAgent, ProxyIp),]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Weaver plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #3
0
def Main(Url,FileName,Values,ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua=UserAgentS(Values)#传入用户输入用户指定的浏览器头
    RandomAgent=ua.UserAgent()#获取生成的头文件
    Medusa = [AtlassianConfluencePathTraversal_and_CommandExecutionVulnerability.medusa(Url, RandomAgent, ProxyIp), ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Confluence plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #4
0
def Main(Url,FileName,Values,ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua=UserAgentS(Values)#传入用户输入用户指定的浏览器头
    RandomAgent=ua.UserAgent()#获取生成的头文件
    Medusa=[ActiveMQArbitraryFileWritingVulnerability.medusa(Url, RandomAgent, ProxyIp),
            Log4jRemoteCommandExecutionVulnerability.medusa(Url, RandomAgent, ProxyIp),]
    try:
        for i in tqdm(Medusa,ascii=True,desc="Apache plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #5
0
def Main(Url,FileName,Values,ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua=UserAgentS(Values)#传入用户输入用户指定的浏览器头
    RandomAgent=ua.UserAgent()#获取生成的头文件
    Medusa = [BugFreeFileContains.medusa(Url,RandomAgent,ProxyIp),
              ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="BugFree plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #6
0
def Main(Url,FileName,Values,ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua=UserAgentS(Values)#传入用户输入用户指定的浏览器头
    RandomAgent=ua.UserAgent()#获取生成的头文件
    Medusa = [BocwebNetworkSystemSensitiveInformationLeakage.medusa(Url,RandomAgent,ProxyIp),
              ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Bocweb plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #7
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        RubyOnRailsArbitraryFileReading.medusa(Url, RandomAgent, ProxyIp)
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Rails plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #8
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        SpringReflectionFileDownloadVulnerability.medusa(
            Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Spring plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #9
0
def Main(Url,FileName,Values,ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua=UserAgentS(Values)#传入用户输入用户指定的浏览器头
    RandomAgent=ua.UserAgent()#获取生成的头文件
    Medusa = [FiveClibArbitraryFileDownloadVulnerability.medusa(Url,RandomAgent,ProxyIp),
              FiveClibArbitraryFileTraversalVulnerability.medusa(Url,RandomAgent,ProxyIp),
              FiveClibThereIsAnUnauthorizedLoophole.medusa(Url,RandomAgent,ProxyIp),
              FiveClibUnauthorizedAddAdministratorVulnerability.medusa(Url,RandomAgent,ProxyIp),]
    try:
        for i in tqdm(Medusa, ascii=True, desc="5Clibe plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #10
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        NginxDirectoryTraversalVulnerability.medusa(Url, RandomAgent, ProxyIp),
        NginxCRLFInjectionVulnerability.medusa(Url, RandomAgent, ProxyIp)
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Kibana plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #11
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        BlueCMSHasSQLinjectionVulnerability.medusa(Url, RandomAgent, ProxyIp),
        BlueCMSMasterPasswordLoginVulnerability.medusa(Url, RandomAgent,
                                                       ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="BlueCMS plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #12
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        PhpStudyBackdoor.medusa(Url, RandomAgent, ProxyIp),
        PhpstudyPhpmyadminDefaultpwd.medusa(Url, RandomAgent, ProxyIp),
        PhpstudyProbe.medusa(Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="PHP plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #13
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件

    Medusa = [
        PbootCommandExecution.medusa(Url, RandomAgent, ProxyIp),
        PbootOnlineMessageDeskSqlInjection.medusa(Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="SecCms plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #14
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        AdvancedBusBookingScriptSQLInjection.medusa(Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa,
                      ascii=True,
                      desc="BusBookingScript plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #15
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        MetinfoArbitraryFileReadVulnerability.medusa(Url, RandomAgent,
                                                     ProxyIp),
        MetinfoInformationDisclosureVulnerability.medusa(
            Url, RandomAgent, ProxyIp),
        MetinfoSQLInjectionVulnerability.medusa(Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="MetinfoCms plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #16
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        JenkinsArbitraryFileReadVulnerability.medusa(Url, RandomAgent,
                                                     ProxyIp),
        JenkinsRemoteCommandExecutionVulnerability.medusa(
            Url, RandomAgent, ProxyIp),
        JenkinsConfigurationErrorCausesUnauthorizedCodeExecutionVulnerability.
        medusa(Url, RandomAgent, ProxyIp)
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Jenkins plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #17
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        S2_001.medusa(Url, RandomAgent, ProxyIp),
        S2_007.medusa(Url, RandomAgent, ProxyIp),
        S2_012.medusa(Url, RandomAgent, ProxyIp),
        S2_013.medusa(Url, RandomAgent, ProxyIp),
        S2_016.medusa(Url, RandomAgent, ProxyIp),
        S2_052.medusa(Url, RandomAgent, ProxyIp),
        S2_053.medusa(Url, RandomAgent, ProxyIp),
        S2_057.medusa(Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Struts2 plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #18
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        OneCaitongElectronicProcurementSystemUploadsArbitraryFiles2.medusa(
            Url, RandomAgent, ProxyIp),
        OneCaitongElectronicProcurementSystemUploadsArbitraryFiles.medusa(
            Url, RandomAgent, ProxyIp),
        OneCaitongElectronicProcurementSystemSQLInjection2.medusa(
            Url, RandomAgent, ProxyIp),
        OneCaitongElectronicProcurementSystemSQLInjection.medusa(
            Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="1Caitong plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #19
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  #获取生成的头文件
    Medusa = [
        B2BbuilderBackgroundCommandExecutionVulnerability.medusa(
            Url, RandomAgent, ProxyIp),
        B2BbuilderContainsVulnerabilitiesLocally.medusa(
            Url, RandomAgent, ProxyIp),
        B2BbuilderHeadSQLInjectionVulnerability.medusa(Url, RandomAgent,
                                                       ProxyIp),
        B2BbuilderSQLInjectionVulnerability.medusa(Url, RandomAgent, ProxyIp),
        B2BbuilderSQLInjectionVulnerability2.medusa(Url, RandomAgent, ProxyIp),
        B2BbuilderSQLInjectionVulnerability3.medusa(Url, RandomAgent, ProxyIp),
        B2BbuilderSQLInjectionVulnerability4.medusa(Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="B2Bbuilder plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
Exemple #20
0
def Main(Url, FileName, Values, ProxyIp):
    WriteFiles = WriteFile(FileName)  # 声明调用类集合中的WriteFile类,并传入文件名字(这一步是必须的)
    ua = UserAgentS(Values)  #传入用户输入用户指定的浏览器头
    RandomAgent = ua.UserAgent()  # 获取生成的头文件

    Medusa = [
        Seeyou_a8_logs_disclosure.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_cm_info_content_sqli.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_ehr_ELTextFile.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_fe_treeXml_sqli.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_getemaildata_fileread.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_icc_struts2.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_multi_union_sqli.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_NCFindWeb_fileread.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_status_default_pwd.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_test_sqli.medusa(Url, RandomAgent, ProxyIp),
        Seeyou_user_ids_sqli.medusa(Url, RandomAgent, ProxyIp),
    ]
    try:
        for i in tqdm(Medusa, ascii=True, desc="Seeyou plugin progress"):
            WriteFiles.Write(str(i))
    except:
        pass
 def __init__(self):
     self.Thread = []  #多线程列表
     self.ThreadNumber = 20000
     self.TargetList = []  #存放目标URL
     self.headers = {
         'Accept-Encoding': 'gzip, deflate',
         'Accept': '*/*',
         'User-Agent': UserAgentS("chrome").UserAgent(),
     }
     global TargetName
     if sys.platform == "win32" or sys.platform == "cygwin":
         TargetName = os.path.split(
             os.path.realpath(__file__))[0] + "\\Target\\"
     elif sys.platform == "linux" or sys.platform == "darwin":
         TargetName = os.path.split(
             os.path.realpath(__file__))[0] + "/Target/"
     with open(TargetName + self.TargetDocument, 'r',
               encoding='UTF-8') as f:
         line = f.readline()
         while line:
             self.TargetList.append(line.replace('\n', ''))  # 删除\n符号
             line = f.readline()
Exemple #22
0
    def WebDir(self, url):
        scheme, self.url, port = UrlProcessing().result(url)
        if port is None and scheme == 'https':
            port = 443
        elif port is None and scheme == 'http':
            port = 80
        else:
            port = port
        for dir in self.dirs:
            payload = scheme + "://" + self.url + ":" + str(port) + "/" + dir
            self.headers = {
                'Accept-Encoding': 'gzip, deflate',
                'Accept': '*/*',
                'User-Agent': UserAgentS("chrome").UserAgent(),
            }

            self.threa_list.append(
                threading.Thread(target=self.resp,
                                 args=(
                                     payload,
                                     self.headers,
                                 )))  #调用自生的函数,以便开启多线程
        for t in tqdm(self.threa_list,
                      ascii=True,
                      desc="{}th iteration scan directory:".format(
                          self.Number)):  # 开启列表中的多线程
            t.setDaemon(True)
            t.start()
            while True:
                # 判断正在运行的线程数量,如果小于5则退出while循环,
                # 进入for循环启动新的进程.否则就一直在while循环进入死循环
                if (len(threading.enumerate()) < self.ThreadNumber):
                    break
        for t in self.threa_list:
            t.join()
        self.Iterative()  #调用一次迭代函数后他会自己继续迭代