id: oracle-peoplesoft-panel

info:
  name: Oracle PeopleSoft Login Panel - Detect
  author: idealphase,righettod
  severity: info
  description: Oracle PeopleSoft login panel was detected.
  reference:
    - https://www.oracle.com/applications/peoplesoft/
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
    cwe-id: CWE-200
    cpe: cpe:2.3:a:oracle:peoplesoft_enterprise_peopletools:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 12
    shodan-query: "http.title:\"Oracle PeopleSoft Sign-in\""
    fofa-query: "title=\"Oracle PeopleSoft Sign-in\""
    product: peoplesoft_enterprise_peopletools
    vendor: oracle
  tags: oracle,peoplesoft,panel,login,detect,discovery

http:
  - method: GET
    path:
      - '{{BaseURL}}'
      - '{{BaseURL}}/{{path}}'

    payloads:
      path:
        - psp/csprd/?cmd=login&languageCd=ENG&
        - psp/retess/?cmd=login&languageCd=ENG&
        - psp/fscmprod/?cmd=login&languageCd=ENG&
        - psp/CT920/?cmd=login&languageCd=ENG&
        - psp/esshrprd/?cmd=login&languageCd=ENG&
        - psp/ps/?&cmd=login&languageCd=ENG&

    stop-at-first-match: true
    redirects: true
    max-redirects: 2

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains_any(to_lower(body), "<title>oracle peoplesoft sign-in</title>", "alt=\"oracle peoplesoft sign-in", "title=\"oracle peoplesoft sign-in")'
        condition: and

    extractors:
      - type: regex
        part: body
        group: 1
        regex:
          - '(?i)\*\s+Copyright\s+\(c\)\s+([0-9,\s]+)\s+Oracle\s+and\/or\s+its\s+affiliates.'
# digest: 4b0a00483046022100add435863839906b396b6d1cb29e1443ae5b8f19ce0724114e37476b68ff6f85022100d1570ca4d29820ee169ff3b869ed4a1b81af36be975f40c1a90f4d554ad56645:922c64590222798bb761d5b6d8e72950