2026-08-13

Vulnerability Scanning

Scan for Exposed Backups

Hunt hostname-named backup files like .bak, .sql, zip, and tarball dumps on a URL list. Heuristics cut false positives so hits are real archives.

Agent

What Scan for Exposed Backups does

Exposed backup files are .bak, .sql, zip, and tarball dumps left on the web root that leak source code, database exports, or application logs. This backup file scanner builds hostname-derived wordlists a generic dirbust misses, then runs heuristics to cut false positives across thousands of servers. A hit is a candidate archive, not certified contents.

You feed a list of live URLs. This module builds hostname-derived names and looks for backup dumps and archives left in the web root: .bak, .sql, zip, and tarball. A hit is a candidate archive, not a certified dump of source or the database. A backup may contain source, a database dump, or logs; that is payload, not a second scan class.

Where it fits in the pipeline

Illustrative excerpt. Each node is a Trickest module.

Upstream

Probe for Web Servers writes the URL list. Optionally nest Discover Paths via Crawling or Discover Paths via Directory Brute Force first so the prefixes you hand this module are deeper than /.

Downstream

findings into Generate Scan Report.

Parallel

Nest the four exposure modules on the same URL list after probe: admin panels, this page, secrets, and sensitive files. Same face, four artifact classes. Do not share one H1.

When to use this

Nest this after you have live web URLs and you want hostname-named backup dumps that a generic path wordlist will miss. A root-only list only tries those names at the prefixes you already have. Crawl or directory brute force first if you need deeper path prefixes under the same hosts.

Inputs and outputs

Required
  • urls (FILE): live web URLs, one per line. Example: https://foo.example.com.

Optional
  • header (STRING): header(s) to include in HTTP requests.

  • header-file (FILE): the same headers, from a file.

  • rate-limit (STRING, default 300 per second per machine): a ceiling, not

  • findings (FILE): JSONLines. Each row carries finding, location, severity,

Data

The tables this module produces. Sample rows are illustrative.

findings7 columns · 3 sample rows

Candidate backup dumps and archives left in the web root, hostname-named.

findingtext
locationurl
severitytext
hostnametext
domain_nametext
methodtext
descriptiontext
1Exposed Backup Filehttps://app.example.com/app.zipunknownapp.example.comexample.comGETHostname-named zip archive (123.4 MB) served from the web root.
2Exposed Backup Filehttps://www.example.com/www.sql.tar.gzunknownwww.example.comexample.comGETHostname-named SQL tarball (567.8 MB) served from the web root.
3Exposed Backup Filehttps://db.example.com/db.bakunknowndb.example.comexample.comGETHostname-named .bak archive served from the web root.

How it differs from similar modules

Artifact class it owns

Management / login UI; default creds on a subset

Upstream it needs

live urls

Scan for Exposed Backups

Artifact class it owns

Hostname-named .bak/.sql/zip/tarball

Upstream it needs

live urls

Artifact class it owns

Patterns in the response you fetched

Upstream it needs

live urls

Artifact class it owns

.env, .git/config, logs, dev artifacts

Upstream it needs

live urls

questions

Scan for Exposed Backups questions

No. That module hunts live configs, logs, `.git`, and `.aws/credentials` at known paths. This module hunts backup copies and archives, often named after the host (`foo.zip`, `www.sql.tar.gz`). Logs that live as live files on the web root belong there. Logs that might sit inside a tarball belong here only as possible contents of that tarball.

Nest Scan for Exposed Backups in a workflow

Drop this module into a Trickest workflow and connect it to your upstream and downstream nodes. The face contract above is the wiring.

Get a personalized demo

See Trickest in Action

A 30-minute walkthrough. We map the platform to your stack and answer pricing and deployment questions for your environment.