[
  {"id":"redirect-001","payload":"//attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["protocol-relative"],"notes":"Protocol-relative redirect","expected_block":true},
  {"id":"redirect-002","payload":"///attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["triple-slash"],"notes":"Triple-slash redirect","expected_block":true},
  {"id":"redirect-003","payload":"////attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["multi-slash"],"notes":"Quadruple-slash redirect","expected_block":true},
  {"id":"redirect-004","payload":"https://attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["absolute-url"],"notes":"Absolute URL redirect","expected_block":true},
  {"id":"redirect-005","payload":"http://attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["absolute-url","http"],"notes":"HTTP absolute URL redirect","expected_block":true},
  {"id":"redirect-006","payload":"https:attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["scheme-colon"],"notes":"Missing slashes after scheme","expected_block":true},
  {"id":"redirect-007","payload":"http:attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["scheme-colon"],"notes":"HTTP missing slashes","expected_block":true},
  {"id":"redirect-008","payload":"\\\\attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["backslash"],"notes":"Backslash redirect","expected_block":true},
  {"id":"redirect-009","payload":"\\/attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["mixed-slash"],"notes":"Mixed slash redirect","expected_block":true},
  {"id":"redirect-010","payload":"/\\attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["mixed-slash"],"notes":"Reverse mixed slash redirect","expected_block":true},
  {"id":"redirect-011","payload":"/%09/attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["tab","whitespace"],"notes":"Tab character bypass","expected_block":true},
  {"id":"redirect-012","payload":"/%0d/attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["cr","whitespace"],"notes":"Carriage return bypass","expected_block":true},
  {"id":"redirect-013","payload":"/%0a/attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["lf","whitespace"],"notes":"Line feed bypass","expected_block":true},
  {"id":"redirect-014","payload":"/%2f%2fattacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["url-encode"],"notes":"URL encoded slashes","expected_block":true},
  {"id":"redirect-015","payload":"/%252f%252fattacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["double-encode"],"notes":"Double URL encoded slashes","expected_block":true},
  {"id":"redirect-016","payload":"/%5cattacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["encoded-backslash"],"notes":"URL encoded backslash","expected_block":true},
  {"id":"redirect-017","payload":"//attacker.com/..;/","category":"open-redirect","method":"GET","severity_hint":"high","tags":["path-normalization"],"notes":"Semicolon path normalization","expected_block":true},
  {"id":"redirect-018","payload":"//attacker%E3%80%82com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["unicode","ideographic-dot"],"notes":"Unicode ideographic dot","expected_block":true},
  {"id":"redirect-019","payload":"//attacker%00.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["null-byte"],"notes":"Null byte in domain","expected_block":true},
  {"id":"redirect-020","payload":"javascript:alert(document.domain)//","category":"open-redirect","method":"GET","severity_hint":"critical","tags":["javascript-uri"],"notes":"JavaScript URI redirect","expected_block":true},
  {"id":"redirect-021","payload":"data:text/html,<script>alert(1)</script>","category":"open-redirect","method":"GET","severity_hint":"critical","tags":["data-uri"],"notes":"Data URI redirect","expected_block":true},
  {"id":"redirect-022","payload":"//attacker.com@legitimate.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["authority-confusion"],"notes":"Authority confusion","expected_block":true},
  {"id":"redirect-023","payload":"//legitimate.com@attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["authority-confusion"],"notes":"Reverse authority confusion","expected_block":true},
  {"id":"redirect-024","payload":"//legitimate.com%40attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["encoded-at"],"notes":"Encoded @ sign bypass","expected_block":true},
  {"id":"redirect-025","payload":"https://attacker.com#legitimate.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["fragment"],"notes":"Fragment-based bypass","expected_block":true},
  {"id":"redirect-026","payload":"https://attacker.com?legitimate.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["query"],"notes":"Query-based bypass","expected_block":true},
  {"id":"redirect-027","payload":"//attacker.com%23@legitimate.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["encoded-hash"],"notes":"Encoded hash bypass","expected_block":true},
  {"id":"redirect-028","payload":"https://legitimate.com.attacker.com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["subdomain"],"notes":"Subdomain impersonation","expected_block":true},
  {"id":"redirect-029","payload":"//attacker。com","category":"open-redirect","method":"GET","severity_hint":"high","tags":["unicode","fullwidth-dot"],"notes":"Unicode fullwidth period","expected_block":true},
  {"id":"redirect-030","payload":"https://attacker.com/legitimate.com/../","category":"open-redirect","method":"GET","severity_hint":"high","tags":["path-traversal"],"notes":"Path traversal bypass","expected_block":true}
]