Skip to main content

Content Discovery tool using response diffing for finding more interesting/hidden content on web applications.

Project description

DiffCD

A Content Discovery tool using response diffing for finding more interesting/hidden content on web applications.

Disclaimers

  • This is considered to be a beta release, and may contain bugs and unintentional behavior. Consider yourself warned!

Requirements

DiffCD requires HTTPDiff and HTTPInsert and can be install with python3 -m pip install httpdiff httpinsert or python3 -m pip install -r requirements.txt.

Why

Why create another content discovery tool when so many already exists?

Most (not all) content discovery tools rely solely on status codes for determining which endpoints "exists". Many applications have endpoints that are hidden due to the status code being the same as non-existant endpoints. Some websites even changes the reason phrase(!) and nothing else for certain endpoint. These types of behavior is really interesting when performing a pentest and can yield information about configuration etc. Relying only on the status code is a poor strategy resulting in subpar output. HTTPDiff analyzes all parts of the response; the status code, reason, headers, body, response times, errors, etc., this allows to find some interesting endpoints impossible to find with traditional tools, or even manually.

DiffCD uses HTTPDiff to determine the normal behavior of an application and checks for any differences when scanning for endpoints. This way it is possible to find endpoints based on any change of behavior, not only limited to the status code!

Help

usage: diffcd [-h] [-e EXTENSIONS [EXTENSIONS ...]] -w WORDLIST [--original-target ORIGINAL_TARGET] (-u URL | -r REQUEST)
              [-t THREADS] [-p PROXY] [-m METHOD] [--header HEADER [HEADER ...]] [-b BODY] [--https] [--verify] [-ar] [-v]
              [-d] [-s SLEEP] [-cs CALIBRATION_SLEEP] [--timeout TIMEOUT] [-ie] [--no-analyze-all]
              [--num-calibrations NUM_CALIBRATIONS] [--num-verifications NUM_VERIFICATIONS]

A Content Discovery tool for finding more interesting/hidden content on web applications

options:
  -h, --help            show this help message and exit
  -e EXTENSIONS [EXTENSIONS ...], --extensions EXTENSIONS [EXTENSIONS ...]
  -w WORDLIST, --wordlist WORDLIST
                        Specify wordlist to scan for filenames (extensions will be appended to all filenames)
  --original-target ORIGINAL_TARGET

target:
  -u URL, --url URL
  -r REQUEST, --request REQUEST, --req REQUEST
                        Specify a file containing a raw request for scanning

request:
  -t THREADS, --threads THREADS
  -p PROXY, --proxy PROXY
  -m METHOD, --method METHOD
  --header HEADER [HEADER ...]
  -b BODY, --body BODY  Specify content to be in the body of the request
  --https, --tls
  --verify              Verify SSL certificates
  -ar, --allow-redirects
                        Specify if requests should follow redirects

verbosisty:
  -v, --verbose
  -d, --debug

scan:
  -s SLEEP, -ss SLEEP, --sleep SLEEP
                        Determines how long (ms) the scanner should sleep between each request during scan
  -cs CALIBRATION_SLEEP, --calibration-sleep CALIBRATION_SLEEP
                        Determines how long (ms) the scanner should sleep between each request while calibrating
  --timeout TIMEOUT     Determines the timeout duration (s) for each request
  -ie, --ignore-errors  Ignore errors if any errors occurs during calibration

analyzer:
  --no-analyze-all      Make analyzer skip analyzing the body if the content length is static
  --num-calibrations NUM_CALIBRATIONS
                        Specify how many requests should be sent during calibration
  --num-verifications NUM_VERIFICATIONS
                        Specify how many times an endpoint should be verified/re-tested

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffcd-1.0.3.tar.gz (7.5 kB view details)

Uploaded Source

File details

Details for the file diffcd-1.0.3.tar.gz.

File metadata

  • Download URL: diffcd-1.0.3.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for diffcd-1.0.3.tar.gz
Algorithm Hash digest
SHA256 0114b63c649bc1151faacf8cb076391a31be406acc5c5455f78191742031b253
MD5 207dd1c9dd31da20a917ba59cd2a539e
BLAKE2b-256 fc07e364d920a414bb713be1ef3452779160714331a4fb3f9d7e7d0296213f31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page