sqlmapproject/sqlmap · error · SqlmapDataException

no file(s) inside

Error message

no file(s) inside '%s'

What it means

Sanity check inside dictionaryAttack after resolving dictionary paths (default set, custom list file, or wordlist option): none of the collected paths point to an existing readable file, so the cracking phase has no wordlist to work with. The '%s' is the resolved path that yielded no usable entries.

Solutions

  1. Point to a directory that actually contains wordlist files
  2. Install/download a password wordlist (e.g. rockyou)
  3. Choose a different cracking mode (e.g. hash-DB reuse) instead
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at lib/utils/hash.py:1538 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/ceab97ca47fc9838. Report an issue: GitHub.

Appendix: source

Thrown at lib/utils/hash.py:1538

                    elif choice == '3':
                        message = "what's the list file location?\n"
                        listPath = readInput(message)
                        checkFile(listPath)
                        dictPaths = getFileItems(listPath)
                        logger.info("using custom list of dictionaries")
                    else:
                        logger.info("using default dictionary")

                    dictPaths = [_ for _ in dictPaths if _]

                    for dictPath in dictPaths:
                        checkFile(dictPath)

                        if isZipFile(dictPath):
                            _ = zipfile.ZipFile(dictPath, 'r')
                            if len(_.namelist()) == 0:
                                errMsg = "no file(s) inside '%s'" % dictPath
                                raise SqlmapDataException(errMsg)
                            else:
                                _.open(_.namelist()[0])

                    kb.wordlists = dictPaths

                except Exception as ex:
                    warnMsg = "there was a problem while loading dictionaries"
                    warnMsg += " ('%s')" % getSafeExString(ex)
                    logger.critical(warnMsg)

            message = "do you want to use common password suffixes? (slow!) [y/N] "

            if readInput(message, default='N', boolean=True):
                suffix_list += COMMON_PASSWORD_SUFFIXES

        infoMsg = "starting dictionary-based cracking (%s)" % __functions__[hash_regex].__name__
        logger.info(infoMsg)

View on GitHub (pinned to 0a35b20e39)