id: switch-protocol

info:
  name: Switching Protocol Detection
  author: pdteam
  severity: info
  metadata:
    verified: true
    max-request: 1
    shodan-query: '"connection: upgrade"'
  tags: protocol,switching,tech,websocket,h2c,discovery

http:
  - method: GET
    path:
      - "{{BaseURL}}"

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 101'
          - 'contains(to_lower(header), "switching protocols")'
          - 'contains(to_lower(header), "connection: upgrade")'
          - 'contains(to_lower(header), "upgrade:")'

    extractors:
      - type: dsl
        dsl:
          - upgrade
# digest: 4a0a0047304502207200be853c72ffd7ab081962c79984f4a17ce78b6975b5a082b4ce2f0ab6b12d022100ea7c9f9fbf1a3b1a3521ac3c4d8aa532456963ed62cd83c6a0d74dd8ada304ca:922c64590222798bb761d5b6d8e72950