id: sql-server-reportviewer

info:
  name: SQL Server ReportViewer - Exposure
  author: kazet
  severity: high
  description: SQL Server ReportViewer page exposed.
  reference:
    - https://learn.microsoft.com/en-us/sql/reporting-services/create-deploy-and-manage-mobile-and-paginated-reports?view=sql-server-ver16
  classification:
    cpe: cpe:2.3:a:microsoft:sql_server:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: microsoft
    product: sql_server
    google-query: inurl:"/Reports/Pages/Folder.aspx"
  tags: misconfig,sql,report,exposure

http:
  - raw:
      - |
        GET /Reports/Pages/Folder.aspx HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /ReportServer/Pages/Folder.aspx HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - "status_code_1 == 200 && status_code_2 != 401"
          - "contains(body, 'Data Source') && contains(body, 'SQL Server Reporting Services')"
        condition: and
# digest: 4a0a00473045022100b217f683b106dc6255adb3175d815b155c1eca01f168c252e2d4325ab0cb0b5a02200d7f88a82ed9b48d68d3d62fc420c1f18e92c450db3594b14ade1a2d8cca9ef6:922c64590222798bb761d5b6d8e72950