id: javascript-env-config

info:
  name: JavaScript Environment Configuration - Detect
  author: pdp,geeknik
  severity: low
  description: Multiple common JavaScript environment configuration files were detected.
  metadata:
    max-request: 6
  tags: javascript,config,exposure

http:
  - method: GET
    path:
      - "{{BaseURL}}/env.js"
      - "{{BaseURL}}/env.development.js"
      - "{{BaseURL}}/env.production.js"
      - "{{BaseURL}}/env.test.js"
      - "{{BaseURL}}/env.dev.js"
      - "{{BaseURL}}/env.prod.js"

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: dsl
        dsl:
          - "contains(tolower(header), 'content-type: application/javascript')"

      - type: word
        part: body
        words:
          - "module.exports"
          - "const audience"
          - "const domain"
          - "NODE_ENV"
          - "LOG_LEVEL"
          - "TOKEN"
          - "KEY"
          - "PASSWORD"
          - "VERSION"
        condition: or

      - type: word
        part: body
        words:
          - "Bootstrap"
          - "jQuery"
          - "CSS TRANSITION SUPPORT"
          - "is_ad_blocked"
        condition: or
        negative: true
# digest: 4b0a00483046022100d337753dd06f7741c4c4ceef7606caa74c5185a842235a1e91c12716e5d325b0022100de3118eba852d7a1a1870a34bf12ac53eb9667e3ac06def2a9b209337d5314e8:922c64590222798bb761d5b6d8e72950