id: pgsql-empty-password

info:
  name: Postgresql Empty Password - Detect
  author: pussycat0x
  severity: critical
  description: |
    Postgresql has a flaw that allows the attacker to login with empty password.
  reference:
    - https://www.tenable.com/plugins/nessus/104031
  metadata:
    verified: true
    max-request: 1
    shodan-query: "product:\"PostgreSQL\""
  tags: js,network,postgresql,authenticated,vuln

javascript:
  - pre-condition: |
      isPortOpen(Host,Port);
    code: |
      const postgres = require('nuclei/postgres');
      const client = new postgres.PGClient;
      const connected = client.Connect(Host, Port, User, Pass);
      connected;

    args:
      Host: "{{Host}}"
      Port: 5432
      User: "postgres"
      Pass: ""

    matchers:
      - type: dsl
        dsl:
          - "success == true"
          - "response == true"
        condition: and
# digest: 4a0a00473045022100eb4e5630fcda14245b9ce01668fa4f76108fd21b6abeb1457233c89c6f5fdf740220674e56e64d0ad9e1ae06439c2c7fff41453084cd6b813cd7c71389bfbf4461ef:922c64590222798bb761d5b6d8e72950