freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

WordPress SEO Plugin by Squirrly SEO 认证SQL注入漏洞(CVE-2025-22783)
p0et 2025-01-16 20:25:52 90473
所属地 上海

插件介绍

Squirrly SEO 的 SEO 插件允许您通过内部链接功能改进网站的 SEO,该功能允许您根据特定关键字选择源页面和目标页面。您可以通过内部链接管理页面 (/wp-admin/admin.php?page=sq_focuspages&tab=innerlinks) 管理每个链接的关键字、源页面、目标页面和状态。

漏洞概述

在 Squirrly SEO 插件的 12.4.01 及以下版本中,您可以在内部链接管理页面上搜索创建的内部链接。当用户 (Contributor+) 输入的搜索词未经验证直接传递给数据库查询时,就会出现 SQL 注入漏洞。虽然搜索结果不会直接显示在内部链接管理页面上,但可以使用基于时间的 SQL 注入技术(例如 SLEEP 函数)提取数据库信息。

影响版本

SEO Plugin by Squirrly SEO <= 12.4.01

FOFA

FOFA:body="wp-content/plugins/squirrly-seo"

搭建环境

使用docker 容器进行搭建,docker-compose.yaml 文件内容如下:

services:
  db:
    image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:6.3.2
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:

执行如下命令,开启靶场

docker-compose up -d

1737029603_6788f7e396f4d43191fa8.png!small?1737029604494

访问目标地址,依次进行如下安装即可

1737029619_6788f7f31c6f5a89745be.png!small?1737029620020

1737029633_6788f801e5d1329a74a66.png!small?1737029634909

1737029646_6788f80e9263bc64e9714.png!small?1737029647450

1737029659_6788f81b10ed051ddf430.png!small?1737029659958

输入账户密码进入后台

1737029677_6788f82dc52168a765a1e.png!small?1737029678949

下载插件,插件下载地址如下:

https://downloads.wordpress.org/plugin/squirrly-seo.12.3.24.zip

下载完成解压,执行如下命令复制插件到docker 容器中。

docker cp squirrly-seo  wordpress_wordpress_1:/var/www/html/wp-content/plugins

1737029732_6788f86460e75121f08f5.png!small?1737029733365

1737029746_6788f8728ab488bc603a0.png!small?1737029747491

点击启用

1737029765_6788f8852ef8b5e98a194.png!small?1737029766018

此时靶场就搭建好了。

漏洞分析

在Squirrly SEO插件的内部链接管理页面(/wp-admin/admin.php?page=sq_focuspages&tab=innerlinks)中,当搜索内部链接时,它会通过调用/wp-content/plugins/squirrly-seo/models/Qss.php文件中的getSqInnerlinks函数来查询数据库。

1737029804_6788f8aced384114f355a.png!small?1737029806063

此时我们可以看到变量$query_where直接插入到了SQL查询中,我们来看看变量$query_where的值是如何构造的:

第75行:变量$search包含内部链接搜索时输入的搜索词,使用sanitize_text_field函数处理用户输入的数据。

第76行:随后变量$search作为条件

可试读前30%内容
¥ 19.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# 漏洞 # 渗透测试 # 网络安全 # web安全 # 漏洞分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 p0et 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
p0et LV.4
这家伙太懒了,还未填写个人描述!
  • 31 文章数
  • 32 关注者
Apache Superset 漏洞组合利用拿权限
2025-04-03
Cacti RRDTool后台参数注入导致远程代码执行漏洞(CVE-2025-24367)
2025-04-02
Mage-AI 不安全的默认身份验证设置导致0day远程命令执行漏洞(CVE-2025-2129)
2025-03-25
文章目录