Example #1
0
 def getBlacklists(self):
     blacklists = {}
     for status in [400, 403, 500]:
         blacklistFileName = FileUtils.buildPath(self.script_path, 'db')
         blacklistFileName = FileUtils.buildPath(blacklistFileName, '{}_blacklist.txt'.format(status))
         if not FileUtils.canRead(blacklistFileName):
             # Skip if cannot read file
             continue
         blacklists[status] = []
         for line in FileUtils.getLines(blacklistFileName):
             # Skip comments
             if line.lstrip().startswith('#'):
                 continue
             blacklists[status].append(line)
     return blacklists
Example #2
0
 def getBlacklists(self):
     blacklists = {}
     for status in [400, 403, 500]:
         blacklistFileName = FileUtils.buildPath(self.script_path, 'db')
         blacklistFileName = FileUtils.buildPath(blacklistFileName, '{}_blacklist.txt'.format(status))
         if not FileUtils.canRead(blacklistFileName):
             # Skip if cannot read file
             continue
         blacklists[status] = []
         for line in FileUtils.getLines(blacklistFileName):
             # Skip comments
             if line.lstrip().startswith('#'):
                 continue
             blacklists[status].append(line)
     return blacklists
Example #3
0
    def getBlacklists(self):
        reext = re.compile('\%ext\%', re.IGNORECASE)
        reextdot = re.compile('\.\%ext\%', re.IGNORECASE)
        blacklists = {}

        for status in [400, 403, 500]:
            blacklistFileName = FileUtils.buildPath(self.script_path, "db")
            blacklistFileName = FileUtils.buildPath(
                blacklistFileName, "{}_blacklist.txt".format(status))

            if not FileUtils.canRead(blacklistFileName):
                # Skip if cannot read file
                continue

            blacklists[status] = []

            for line in FileUtils.getLines(blacklistFileName):
                # Skip comments
                if line.lstrip().startswith("#"):
                    continue

                # The same with Dictionary.py
                if line.startswith("/"):
                    line = line[1:]

                # Classic dirsearch blacklist processing (with %EXT% keyword)
                if "%ext%" in line.lower():
                    for extension in self.arguments.extensions:
                        if self.arguments.noDotExtensions:
                            entry = reextdot.sub(extension, line)

                        else:
                            entry = line

                        entry = reext.sub(extension, entry)

                        blacklists[status].append(entry)

                # Forced extensions is not used here because -r is only used for wordlist (in documentation),
                # applying in blacklist may create false negatives

                else:
                    blacklists[status].append(line)

        return blacklists