Skip to content

Harden VulnerableApp challenge endpoints (CTF remediation batch) - #238

Open
latinengineer wants to merge 1 commit into
OWASP-CTF:dc34-ctffrom
latinengineer:fix/ctf-hardening
Open

latinengineer wants to merge 1 commit into
OWASP-CTF:dc34-ctffrom
latinengineer:fix/ctf-hardening

Conversation

@latinengineer

Copy link
Copy Markdown

Summary

  • Apply root-cause remediations across major VulnerableApp challenge modules so insecure levels follow existing secure patterns
  • Cover SQL injection (error/blind/union), reflected + persistent XSS, path traversal, command injection, SSRF, XXE, LDAP injection, IDOR, open redirect, clickjacking, authentication SQLi/logging, and RFI
  • Update AuthLoginService unit test for the repository-backed Level 1 auth path

Areas patched

  • Error / Blind / Union SQL injection — parameterized queries
  • Reflected XSS (img + HTML tag) and Persistent XSS — HTML escaping / allowlists
  • Path traversal L1–L12 — exact allowlisted filenames
  • Command injection L1–L5 — IP/localhost validation
  • SSRF L1–L4 — gist URL allowlist
  • XXE L1–L2 — disallow DOCTYPE / external entities
  • LDAP injection — Filter.encodeValue
  • IDOR L1–L4 — ownership + ignore client-supplied role cookies
  • Open redirect L1–L7, L9–L10 — whitelist
  • Clickjacking vulnerable levels — CSP frame-ancestors none
  • Auth L1 SQLi + L2 password logging
  • Remote file inclusion — stop arbitrary remote fetches

Test plan

  • CTF score Action on this PR records challenge passes
  • Legitimate allowlisted/valid inputs still succeed where applicable

Apply root-cause remediations across SQLi, XSS, path traversal, command injection, SSRF, XXE, LDAP, IDOR, open redirect, clickjacking, auth, and RFI so insecure levels follow existing secure patterns.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants