Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
XXERipper — Black-box XXE scanner detecting in-band, error-based, and blind out-of-band injection via statistical baselining, parser fingerprinting, and OOB confirmation, with SARIF output. | Kitploit
Tools/GitHubGitHub/kamalx06/xxeripper
ReconnaissanceVulnerability ScannersWeb Vulnerability ScannersExploitationScripting & AutomationAPI Security TestingData ExfiltrationInformation GatheringWAF BypassWeb SecurityPenetration TestingRed Teaming
1315123 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
GitHubkamalx06/xxeripper

XXERipper

Black-box XXE scanner detecting in-band, error-based, and blind out-of-band injection via statistical baselining, parser fingerprinting, and OOB confirmation, with SARIF output.

View Repository
Share

XXERipper

A standalone, black-box XML External Entity (XXE) scanner for security professionals.

XXERipper detects in-band, error-based, and blind out-of-band XXE across 30+ attack technique families. It combines statistical baselining, differential parser fingerprinting, out-of-band confirmation via interactsh-client (manual or automatic), a browser-based console, WAF-bypass encoding, end-to-end exploit-chain detection, credential extraction with paste-ready shell snippets, CWE-mapped findings, and JSON / SARIF / HTML output for CI/CD and reporting.

License: GPL v3 Python 3.9+ Version PRs Welcome


Table of Contents

  • Overview
  • Key Features
  • Installation
  • Quick Start
  • Usage
  • Command-Line Reference
  • Web Console
  • Architecture and Design
  • Fingerprinting Methodology
  • Detection Methodology
  • Accuracy Engine
  • Attack Techniques
  • Exploit Chains and Loot Extraction
  • Out-of-Band Confirmation
  • WAF Bypass Encoding
  • Custom Payloads
  • Output Formats
  • Reliability and Coverage
  • CI/CD Integration
  • Testing Against the Included Labs
  • Building, License, and Credits

Overview

XXERipper is a self-contained CLI and browser-console scanner for XML External Entity injection, designed for penetration testers, bug-bounty hunters, and security researchers who need accurate, low-false-positive detection of a vulnerability class that is easy to test badly and hard to test well.

It is deliberately minimal — httpx and (for the console) flask, nothing else — and end-to-end auditable. Every phase can be traced, every finding carries an evidence trail, every skipped technique is reported with a reason, and every extracted file or credential is deduplicated and stored with paste-ready exploitation snippets.

XXERipper does not exploit the target beyond the entity-resolution primitive itself. It determines whether a parser resolves external entities, whether the result can be observed in-band, via parser errors, or out of band, and reports that determination with a confidence score, a CWE mapping, and — when a full chain completes — a rollup finding that names the end-to-end impact.


Key Features

  • 30+ attack technique families across in-band, error-based, blind, encoding-bypass, alternative-sink, extended-fetcher, cloud-metadata, RCE-wrapper, Office-document, and YAML-deserialization classes.
  • End-to-end exploit-chain detection. A ChainTracker observes every finding, derives chain stages from ID + evidence, and fires a rollup finding when a template completes — XXE → IMDS → IAM credentials → AWS account takeover, XXE → SSH private key → lateral movement, XXE → Kubernetes secrets → cluster credential theft, and ten more.
  • Loot store with credential extraction across seven kinds. Every file-read finding routes through a universal extractor that pulls the raw file content out of the response, stores it deduplicated, and scans it for AWS IAM blobs, AWS CLI credentials, Alibaba RAM credentials, SSH private keys, GCP service accounts, OAuth access tokens (GCP metadata and Azure managed identity), Kubernetes service-account tokens, and generic bearer tokens. Each credential carries paste-ready shell snippets — aws sts get-caller-identity, aliyun sts GetCallerIdentity, ssh -i …, gcloud auth activate-service-account, kubectl --token=…, and curl -H 'Authorization: Bearer …' — built with the token's real claims where applicable.
  • Differential parser fingerprinting across 11 XML stacks (libxml2, Xerces, .NET, Java SAX/StAX, Python stdlib, PHP DOM, Ruby, Node.js, Perl, Go), with paired test/control probes and an on-disk per-URL cache.
  • Statistical baselining — median, IQR, p95, mode status, and windowed Shannon entropy — with graded vetoes that reject noise without suppressing real findings.
  • Out-of-band confirmation via interactsh-client. Two modes: manual (scanner prints every subdomain, you watch the client) and auto (--oob-auto spawns interactsh-client and correlates callbacks in-process). Both embed a unique 16-hex token per payload so callbacks can never be misattributed.
  • Blind file exfiltration — the scanner serves the DTD that causes the target to send file content into the callback, extracts the exfiltrated payload, and routes it through the same loot pipeline as in-band reads. Three DTD-hosting options: a built-in HTTP server (--oob-listen), a directory served by your own web server (--oob-dtd-dir), or the WebUI's own Flask routes (tick Serve DTDs from this WebUI in the drawer).
  • Cloud-metadata chain detection as a first-class phase: AWS IMDSv1/v2 (including IMDSv2 detection), GCP, Azure, Alibaba, Oracle, and the Kubernetes service-account API. A response containing credential markers is promoted to CRITICAL and probed no further.
  • XXE-to-RCE protocol wrappers: jar://, data://, phar://, glob://, compress.zlib://.
  • Office-document XSLT invocation (XXE-OFFICE-XSLT-{DOCX,XLSX}) — an xml-stylesheet PI inside a Word or Excel part causes server-side document processors to fetch an attacker-controlled XSLT.
  • Unsafe YAML deserialization — CWE-502, probed alongside XML through the same endpoints via PyYAML and SnakeYAML payloads.
  • JSON-to-XML content-type switching — catches Spring MVC with jackson-dataformat-xml on the classpath, which silently accepts application/xml on any @RequestBody endpoint.
  • SAML pre-signature XXE — parses the assertion body before signature verification, the sequence that CVE-2026-28809 (esaml) exposed.
  • WAF-bypass phase (--bypass-waf) — re-sends the entire payload catalogue through fifteen encoders across three families. Runs after the core phases so a direct hit is found in ~20 requests instead of being buried behind ~1,500 encoded ones.
  • HTTP/2 negotiation — the session builder speaks HTTP/2 via ALPN and falls back silently to HTTP/1.1.
  • Multi-indicator fingerprinting — no single string match triggers a finding.
  • Per-phase exception isolation — a crash in one technique family cannot lose findings from phases already completed.
  • Web console (--serve) — browser-based workbench with live event streaming, command palette, keyboard-driven navigation, per-job JSON / SARIF / HTML downloads, and a separate View HTML button that opens the report inline instead of downloading it. Zero-dependency frontend: one self-contained HTML file, no CDN.
  • CWE-mapped findings emitted in JSON, SARIF v2.1.0, and a self-contained printable HTML report.
  • Coverage reporting — every phase that did not run is listed with a reason, so "clean" is never confused with "incomplete."
  • Pre-auth replay — --pre-auth-request FILE replays Burp-format requests and merges their Set-Cookie before the scan starts, so multi-step auth flows work without a cookies file.
  • Rate limiting, retry with backoff, and a wall-clock budget to prevent accidental DoS.

Installation

PyPI (recommended)

Download Tool