Files
nuclei-templates/headless/prototype-pollution-check.yaml

173 lines
3.7 KiB
YAML
Raw Normal View History

2021-03-10 14:03:40 +05:30
id: prototype-pollution-check
info:
name: Prototype Pollution Check
2021-04-06 12:16:11 +05:30
author: pdteam
2021-03-10 14:03:40 +05:30
severity: medium
metadata:
2025-05-27 02:29:19 +00:00
max-request: 8
verified: true
2021-03-10 14:03:40 +05:30
tags: headless
2021-03-10 14:03:40 +05:30
headless:
- steps:
2023-01-09 20:13:13 +04:00
- args:
url: "{{BaseURL}}?constructor[prototype][vulnerableprop]=polluted#constructor[prototype][vulnerableprop]=polluted"
action: navigate
- action: waitload
2021-03-10 14:03:40 +05:30
- action: script
2024-10-08 14:22:54 +05:30
name: extract1
2021-03-10 14:03:40 +05:30
args:
code: |
() => {
2023-01-09 20:13:13 +04:00
return window.vulnerableprop
}
matchers:
- type: word
2024-10-08 14:22:54 +05:30
part: extract1
2023-01-09 20:13:13 +04:00
words:
- "polluted"
2023-10-14 16:57:55 +05:30
2023-01-09 20:13:13 +04:00
- steps:
- args:
url: "{{BaseURL}}?constructor.prototype.vulnerableprop=polluted#constructor.prototype.vulnerableprop=polluted"
action: navigate
2021-03-10 14:03:40 +05:30
2023-01-09 20:13:13 +04:00
- action: waitload
2021-03-10 14:03:40 +05:30
2023-01-09 20:13:13 +04:00
- action: script
name: extract2
args:
code: |
() => {
return window.vulnerableprop
}
matchers:
- type: word
part: extract2
words:
- "polluted"
2021-03-10 14:03:40 +05:30
2023-01-09 20:13:13 +04:00
- steps:
2021-03-10 14:03:40 +05:30
- args:
2023-01-09 20:13:13 +04:00
url: "{{BaseURL}}?__proto__[vulnerableprop]=polluted#__proto__.vulnerableprop=polluted&__proto__[vulnerableprop]=polluted"
2021-03-10 14:03:40 +05:30
action: navigate
2023-01-09 20:13:13 +04:00
2021-03-10 14:03:40 +05:30
- action: waitload
2021-03-10 14:03:40 +05:30
- action: script
2023-01-09 20:13:13 +04:00
name: extract3
2021-03-10 14:03:40 +05:30
args:
code: |
2023-01-09 20:13:13 +04:00
() => {
return window.vulnerableprop
}
2021-03-10 14:03:40 +05:30
matchers:
- type: word
2023-01-09 20:13:13 +04:00
part: extract3
2021-03-10 14:03:40 +05:30
words:
2023-01-09 20:13:13 +04:00
- "polluted"
2023-10-14 16:57:55 +05:30
2023-01-09 20:13:13 +04:00
- steps:
- args:
url: "{{BaseURL}}?__proto__.vulnerableprop=polluted"
action: navigate
2023-01-09 20:13:13 +04:00
- action: waitload
- action: script
name: extract4
args:
code: |
() => {
return window.vulnerableprop
}
matchers:
- type: word
part: extract4
words:
- "polluted"
- steps:
- args:
url: "{{BaseURL}}?__pro__proto__to__[vulnerableprop]=polluted"
action: navigate
- action: waitload
- action: script
name: extract5
args:
code: |
() => {
return window.vulnerableprop
}
matchers:
- type: word
part: extract5
words:
- "polluted"
- steps:
- args:
url: "{{BaseURL}}?__pro__proto__to__.vulnerableprop=polluted"
action: navigate
- action: waitload
- action: script
name: extract6
args:
code: |
() => {
return window.vulnerableprop
}
matchers:
- type: word
part: extract6
words:
- "polluted"
- steps:
- args:
url: "{{BaseURL}}?constconstructorructor[protoprototypetype][vulnerableprop]=polluted"
action: navigate
- action: waitload
- action: script
name: extract7
args:
code: |
() => {
return window.vulnerableprop
}
matchers:
- type: word
part: extract7
words:
- "polluted"
- steps:
- args:
url: "{{BaseURL}}?constconstructorructor.protoprototypetype.vulnerableprop=polluted"
action: navigate
- action: waitload
- action: script
name: extract8
args:
code: |
() => {
return window.vulnerableprop
}
2024-10-08 14:22:54 +05:30
matchers:
- type: word
part: extract8
words:
- "polluted"
2024-12-01 13:57:55 +00:00
# digest: 4a0a00473045022100f13ceb8a2f5cb2951a224b4cae1b6ebba91ff7c1ad2e3862a12f7824d74925080220462e096ee2dc84e717dc95341d96922eab4594202dce02cff5dad9aed5577b00:922c64590222798bb761d5b6d8e72950