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: 490a00463044022035a40118d7d4f7b36c99b9d705698a3ace40b835728ae8d1feb0b7d766b13c2402201632d6db29433692d2282cc141150b58ec325680279ae68202a08cc4df9c1870:922c64590222798bb761d5b6d8e72950