38 lines
1.4 KiB
YAML
38 lines
1.4 KiB
YAML
id: symfony-fragment
|
|
|
|
info:
|
|
name: Symfony _fragment - Detect
|
|
author: Palanichamy_perumal,TechbrunchFR
|
|
severity: unknown
|
|
description: |
|
|
Symfony servers support a "/_fragment" command that allows clients to provide custom PHP commands and return the HTML output.
|
|
reference: |
|
|
- https://portswigger.net/daily-swig/symfony-based-websites-open-to-rce-attack-research-finds
|
|
- https://medium.com/@m4cddr/how-i-got-rce-in-10-websites-26dd87441f22
|
|
- https://al1z4deh.medium.com/how-i-hacked-28-sites-at-once-rce-5458211048d5
|
|
- https://github.com/ambionics/symfony-exploits
|
|
classification:
|
|
cpe: cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 1
|
|
vendor: sensiolabs
|
|
product: symfony
|
|
shodan-query: http.html:"symfony Profiler"
|
|
tags: config,exposure,symfony,misconfig
|
|
|
|
http:
|
|
- method: GET
|
|
path:
|
|
- '{{BaseURL}}/_fragment'
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- "status_code == 403"
|
|
- "contains(body, 'Symfony') || contains(body, '403 Forbidden')"
|
|
- "(\"8b2f83102bc96e5068d36df80301a64d\" == md5(body)) || (\"4df206fbc337c398c3b669172934c8cb\" == md5(body))"
|
|
condition: and
|
|
|
|
# digest: 490a0046304402202aae05b954b4e09d833cb11b5a201d4e5ecd6580bb6d79385fc3affcd8fae7fd022046c21c2cf4d84f67373859c47a19d36990e10c35abf35b91232125584d1591cd:922c64590222798bb761d5b6d8e72950 |