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:
    shodan-query: product:"PostgreSQL"
    verified: true
  tags: js,network,postgresql,authenticated

javascript:
  - 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: 4b0a004830460221008e50b26950dcf2210fda51a5701f47db7525024b4250ed218d0ed204e7f71150022100b303335c8d8809c5c6d19fde148d52cb687c306accf18c793127c3f7a7ea7da5:922c64590222798bb761d5b6d8e72950