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