Skip to main content

Oralyzer

Python License PRs

A Python tool for Open Redirect vulnerabilities. It fuzzes the target URL with redirect payloads and reports which ones the server actually follows to an external host.

Features

  • Open Redirect Detection: Header, JavaScript, and meta-tag redirects
  • CRLF Injection Scanning: HTTP response splitting vulnerabilities
  • URL Discovery: Harvest candidate URLs from Common Crawl's index
  • JSON Export: Export findings for further analysis
  • Proxy Support: Route requests through HTTP proxies

Installation

pipx installs CLI tools into isolated environments, so oralyzer works system-wide without touching your system Python — and you sidestep the externally-managed-environment error on Debian/Ubuntu (PEP 668).

# Install pipx if you don't have it
sudo apt install pipx
pipx ensurepath

# Install Oralyzer
pipx install oralyzer

With pip in a virtual environment

Prefer plain pip? Create a venv first:

python3 -m venv .venv
source .venv/bin/activate
pip install oralyzer

From source

git clone https://github.com/r0075h3ll/Oralyzer.git
cd Oralyzer
pipx install .
# or, inside a venv:
pip install .

Or skip installing altogether and run it directly:

python3 -m venv .venv
source .venv/bin/activate
pip install .
python -m oralyzer -u https://example.com/

Usage

# Single target
oralyzer -u https://example.com/login

# Multiple targets from file
oralyzer -l targets.txt

# Export findings to JSON
oralyzer -u https://example.com/login -o results.json

# CRLF injection scan
oralyzer -u https://example.com/ -crlf

# Harvest URLs from Common Crawl
oralyzer -u example.com --discover

# Use proxy
oralyzer -u https://example.com/ --proxy http://127.0.0.1:8080

# Verbose logging
oralyzer -u https://example.com/ -v

# Concurrent scanning with custom workers
oralyzer -l targets.txt --workers 10 -o results.json

Command-line Options

Option Description
-u, --url URL Scan a single target
-l, --list PATH Scan multiple targets from a file
-p, --payload PATH Use custom payloads file
-o, --output PATH Export findings to JSON
-crlf Scan for CRLF injection
--discover Harvest candidate URLs from Common Crawl
--proxy URL Route requests through proxy
--timeout SECONDS Request timeout (default: 10)
--workers N Concurrent workers (default: 5)
--limit N Stop after N findings
--filter TYPE Only report: header, javascript, meta, crlf
-q, --quiet Only show findings
--no-color Disable colored output
-v, --verbose Enable verbose logging

Output Format

Findings are exported as JSON:

[
  {
    "type": "header",
    "request_url": "https://example.com/login?next=//evil.com",
    "payload": "//evil.com",
    "status_code": 302,
    "destination": "https://evil.com"
  },
  {
    "type": "javascript",
    "request_url": "https://example.com/page",
    "payload": "//evil.com",
    "status_code": 200,
    "sources": ["location.href", "document.URL"]
  }
]

Release files for oralyzer 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oralyzer 2.0.0
File Size Uploaded
oralyzer-2.0.0.tar.gz 30.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oralyzer 2.0.0
File Interpreter ABI Platform
oralyzer-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 60.2 kB

Release files / oralyzer-2.0.0.tar.gz

Download URL oralyzer-2.0.0.tar.gz
Size 30.3 kB
Tags Source
SHA-256 checksum
How to use checksums
622757591774908b741eeb3c77c9b49223ca80fe54df4acf0bb83f81a7670b04
BLAKE2b-256 checksum
How to use checksums
94f685be27cc17e4d612921014b189b8c208296432ec610868dae83285c9ed3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / oralyzer-2.0.0-py3-none-any.whl

Download URL oralyzer-2.0.0-py3-none-any.whl
Size 29.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b54ad6824c270a6b4774bfb6f4fdb9fb507709332b8148c33fd4ad85bec8265
BLAKE2b-256 checksum
How to use checksums
fd5dc26af8ad2689fecebeafe2cd410950d817e9287b35cb18a84404b3ec364b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page