id: oob-header-based-interaction

info:
  name: Header Based Generic OOB Interaction
  author: pdteam
  severity: info
  description: The remote server fetched a spoofed URL from the request headers.
  reference:
    - https://github.com/PortSwigger/collaborator-everywhere
  metadata:
    max-request: 1
  tags: oast,ssrf,generic

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

    headers:
      User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 root@{{interactsh-url}}
      Referer: http://{{interactsh-url}}/ref
      Cf-Connecting_ip: spoofed.{{interactsh-url}}
      X-Real-Ip: spoofed.{{interactsh-url}}
      From: root@{{interactsh-url}}
      True-Client-Ip: spoofed.{{interactsh-url}}
      Client-Ip: spoofed.{{interactsh-url}}
      Forwarded: for=spoofed.{{interactsh-url}};by=spoofed.{{interactsh-url}};host=spoofed.{{interactsh-url}}
      X-Client-Ip: spoofed.{{interactsh-url}}
      X-Originating-Ip: spoofed.{{interactsh-url}}
      X-Wap-Profile: http://{{interactsh-url}}/wap.xml
      X-Forwarded-For: spoofed.{{interactsh-url}}
      Contact: root@{{interactsh-url}}
      X-Forwarded-Host: spoofed.{{interactsh-url}}
      X-Host: spoofed.{{interactsh-url}}
      X-Forwarded-Server: spoofed.{{interactsh-url}}
      X-HTTP-Host-Override: spoofed.{{interactsh-url}}
      Profile: http://{{interactsh-url}}/profile.xml
      Cache-Control: no-transform

    matchers-condition: or
    matchers:
      - type: word
        part: interactsh_protocol
        name: http
        words:
          - "http"

      - type: word
        part: interactsh_protocol
        name: dns
        words:
          - "dns"

# digest: 4a0a00473045022100bd3cf08b4348b3c005271dba68fb6b06a15deb5299f2adf45f3013bc27a3a8e502205b6022cd0123b78c69c600889d445b69798da0aff7340952e081a4b542750f12:922c64590222798bb761d5b6d8e72950
