Probe subdomain list with httpx/dnsx/naabu to identify live hosts, open ports, status codes, titles, and basic fingerprints. Use after subdomain-enum produces a sub list. Output feeds into fingerprinting and content discovery.
中文简介正在准备中。当前显示原文说明。
Extract endpoints, secrets, and hidden routes from JavaScript files using LinkFinder, SecretFinder, JSluice, and source-map analysis. Use when the user has live hosts and needs to mine the JS for attack surface that's not visible in the UI.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
90% of API endpoints aren't in the navbar — they're in
main.bundle.js.
Trigger phrases:
Modern SPAs (React/Vue/Angular) load all their API routes in JavaScript. The UI shows you maybe 10% of the routes — the bundle has 100% of them, including:
TARGET="app.target.com"
OUT="loot/$TARGET/js"
mkdir -p "$OUT"
# Method A: katana crawl with JS extraction
katana -u "https://$TARGET" -d 3 -jc -kf all -silent | \
grep -E '\.js(\?|$)' | sort -u > "$OUT/js-urls.txt"
# Method B: waybackurls / gau for historical JS
echo "$TARGET" | gau --providers wayback,otx | grep -E '\.js(\?|$)' | sort -u >> "$OUT/js-urls.txt"
# Method C: from httpx-grabbed JS
cat live.txt | httpx -silent -extract-regex 'src="([^"]+\.js[^"]*)"' -no-color | sort -u >> "$OUT/js-urls.txt"
# Dedupe
sort -u "$OUT/js-urls.txt" -o "$OUT/js-urls.txt"
echo "[+] $(wc -l < "$OUT/js-urls.txt") JS files found"
# Parallel download
mkdir -p "$OUT/files"
cat "$OUT/js-urls.txt" | xargs -P 10 -I{} sh -c 'curl -s -L -o "$1/files/$(echo "$2" | md5sum | cut -d" " -f1).js" "$2"' _ "$OUT" {}
# Or with getJS tool
go install github.com/003random/getJS@latest
getJS --url "https://$TARGET" --complete --output "$OUT/files/"
# LinkFinder — the standard for endpoint extraction
cd ~/tools/LinkFinder
pip install -r requirements.txt # one-time
# Process each JS file
while read js; do
python3 linkfinder.py -i "$js" -o cli
done < "$OUT/js-urls.txt" | sort -u > "$OUT/endpoints-raw.txt"
# Or in one shot with a remote URL list
python3 linkfinder.py -i "https://$TARGET" -d -o cli > "$OUT/endpoints-raw.txt"
# Remove junk (data:, font references, etc.)
cat "$OUT/endpoints-raw.txt" | \
grep -vE '\.(png|jpg|gif|svg|woff|ttf|css|map)$' | \
grep -E '^/?[a-zA-Z0-9_/.-]+' | \
sort -u > "$OUT/endpoints.txt"
# Convert relative → absolute
awk -v target="https://$TARGET" '
/^\/(api|v[0-9]|graphql|admin|user)/ { print target $0; next }
/^https?:/ { print; next }
{ print target "/" $0 }
' "$OUT/endpoints.txt" | sort -u > "$OUT/endpoints-absolute.txt"
# SecretFinder
cd ~/tools/SecretFinder
while read js; do
python3 SecretFinder.py -i "$js" -o cli
done < "$OUT/js-urls.txt" | tee "$OUT/secrets-raw.txt"
# trufflehog (more comprehensive)
trufflehog filesystem "$OUT/files/" --json | tee "$OUT/trufflehog.jsonl"
# noseyparker (modern, very thorough)
noseyparker scan --datastore /tmp/np-store "$OUT/files/"
noseyparker report --datastore /tmp/np-store > "$OUT/noseyparker.txt"
# Install
go install github.com/BishopFox/jsluice/cmd/jsluice@latest
# Per-file analysis
while read js; do
curl -s "$js" | jsluice urls -
curl -s "$js" | jsluice secrets -
done < "$OUT/js-urls.txt" > "$OUT/jsluice-output.txt"
# Or full crawl
cat "$OUT/js-urls.txt" | jsluice urls --source - --json > "$OUT/jsluice-urls.jsonl"
cat "$OUT/js-urls.txt" | jsluice secrets --source - --json > "$OUT/jsluice-secrets.jsonl"
# Check for .map files
cat "$OUT/js-urls.txt" | sed 's/$/.map/' | httpx -silent -mc 200 -o "$OUT/sourcemaps-exposed.txt"
# If found — extract original source
# sourcemapper (Go tool)
go install github.com/denandz/sourcemapper@latest
while read map; do
sourcemapper -url "$map" -output "$OUT/source/$(basename "$map" .map)"
done < "$OUT/sourcemaps-exposed.txt"
# Original source = full file paths, comments, dev hints — gold
Custom regex set for common BB patterns:
cat "$OUT/files/"*.js | grep -aoE '(AKIA[0-9A-Z]{16}|sk_live_[0-9a-zA-Z]{24,}|xox[bpoars]-[0-9]{12}-[0-9]{12}-[a-zA-Z0-9]{24}|ghp_[A-Za-z0-9]{36}|gho_[A-Za-z0-9]{36}|AIza[0-9A-Za-z\-_]{35})' | sort -u
# Patterns:
# AKIA… → AWS Access Key
# sk_live_… → Stripe Live Secret
# xox[bpoars]-… → Slack token
# ghp_… → GitHub PAT
# AIza… → Google API Key
For a richer regex set, use gitleaks with extended config on JS files:
gitleaks dir --source "$OUT/files/" --config ~/tools/gitleaks-config.toml -r "$OUT/gitleaks-report.json"
# GraphQL operations are often hardcoded — full field/argument names!
grep -hE 'query [A-Za-z]+|mutation [A-Za-z]+' "$OUT/files/"*.js | sort -u > "$OUT/graphql-operations.txt"
# Look for field structures
grep -hoE '{ [a-zA-Z_]+ [a-zA-Z_]+' "$OUT/files/"*.js | head -20
# Probe each found endpoint
cat "$OUT/endpoints-absolute.txt" | httpx -silent -status-code -title -mc 200,201,202,204,301,302,401,403 > "$OUT/endpoints-live.txt"
# 401/403 endpoints — auth needed = potential auth bypass targets
grep -E '401|403' "$OUT/endpoints-live.txt" > "$OUT/endpoints-protected.txt"
# 200 endpoints without auth = potential IDOR / info disclosure
grep '200' "$OUT/endpoints-live.txt" > "$OUT/endpoints-public.txt"
loot/target.com/js/
├── js-urls.txt (list of all JS files)
├── files/ (downloaded JS)
│ └── *.js
├── endpoints-raw.txt (LinkFinder output)
├── endpoints-absolute.txt (normalized URLs)
├── endpoints-live.txt (httpx-probed)
├── endpoints-protected.txt (401/403 — auth bypass candidates)
├── endpoints-public.txt (200 without auth)
├── secrets-raw.txt (SecretFinder)
├── trufflehog.jsonl
├── noseyparker.txt
├── jsluice-urls.jsonl
├── jsluice-secrets.jsonl
├── sourcemaps-exposed.txt
├── source/ (decompiled from source maps if exposed)
└── graphql-operations.txt
| Finding | Next skill | Potential payout |
|---|---|---|
| Hardcoded AWS key | [[cloud-misconfig]] | $$$$ (S3 access, IAM enum) |
| Exposed source map | Manual code review | $$$ (logic bug treasure) |
| Internal hostname leaked | [[ssrf]] | $$$$ |
| Admin endpoint visible but 401 | [[auth-bypass]] | $$$$ |
| GraphQL operation names + schema | [[graphql]] | $$$$ |
| Stripe / Twilio / etc. test key | Account in their system | $ — verify scope first |
| Postman collection URL | Manual review | $$ — endpoint goldmine |
[[asset-discovery]] — runs before this[[content-discovery]] — fuzz endpoints found in JS[[idor-hunting]] — test discovered API routes for IDOR[[graphql]] — exploit embedded GraphQL ops[[cloud-misconfig]] — abuse leaked cloud credentials/foo/bar inside strings). Validate with httpx..map files. Source maps are often left exposed by accident — high-value.chunks/12345.js); analyze all.Cache-Control: immutable — fingerprints are stable, so MD5-hash them and diff over time.process.env.NEXT_PUBLIC_* references in Next.js — leaks env vars.window.__INITIAL_STATE__./sw.js) often caches API URLs — easy endpoint mine.Some apps obfuscate / minify aggressively. Beautify before analysis:
# js-beautify
npm install -g js-beautify
js-beautify -r "$OUT/files/"*.js
# Or use jsnice.org (online, manual)
# Or webcrack — handles webpack + obfuscators
npm install -g webcrack
webcrack "$OUT/files/main.bundle.js" -o "$OUT/files/main.deobfuscated.js"
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Probe subdomain list with httpx/dnsx/naabu to identify live hosts, open ports, status codes, titles, and basic fingerprints. Use after subdomain-enum produces a sub list. Output feeds into fingerprinting and content discovery.
中文简介正在准备中。当前显示原文说明。
Hunt full Account Takeover (ATO) by chaining lower-severity findings — IDOR-to-email-disclosure, password-reset-token-theft, OAuth-redirect-uri abuse, response-manipulation, cookie scope, CRLF in Set-Cookie, race-condition on signup. Use when the user wants to escalate small findings to ATO or thinks an ATO path exists.
中文简介正在准备中。当前显示原文说明。
Hunt authentication and authorization bypasses — forced browsing, path traversal in auth, header injection, JWT downgrade, OAuth state confusion, role manipulation. Use when an endpoint returns 401/403 but appears reachable.
中文简介正在准备中。当前显示原文说明。
Write Bugcrowd-format reports — VRT (Vulnerability Rating Taxonomy) mapping, P1-P5 severity, impact-led writing, and Bugcrowd-specific submission etiquette. Use AFTER triage-validation passes for Bugcrowd programs.
中文简介正在准备中。当前显示原文说明。
Hunt business logic flaws — race conditions, workflow state bypass, parameter pollution affecting logic, coupon/discount abuse, refund logic, multi-step process bypass, integer overflow, negative quantities, double-spend. Use when looking for non-CVE bugs that require understanding the app's intended workflow.
中文简介正在准备中。当前显示原文说明。
Hunt web cache poisoning, CDN cache poisoning, and cache deception attacks. Use when target uses a CDN (Cloudflare, Akamai, Fastly, AWS CloudFront) or has Varnish/nginx caches and you want to identify cache key flaws that let attackers serve malicious content to other users.
中文简介正在准备中。当前显示原文说明。