漏洞介绍

WordPress是WordPress基金会的一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。Wordpress LiteSpeed用于设置页面缓存和站点优化。

WordPress LiteSpeed Cache plugin 3.6.1之前版本存在跨站脚本漏洞,攻击者可通过服务器IP设置处嵌入xss payload。

漏洞范围

WordPress LiteSpeed Cache <3.6.1

漏洞靶场

使用LiteSpeed Cache 3.6版本

https://downloads.wordpress.org/plugin/litespeed-cache.3.6.zip

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
version: '3.8'

services:
db:
image: mysql:5.7
container_name: wordpress_db
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: wordpress_password
volumes:
- db_data:/var/lib/mysql
networks:
- wordpress_network

wordpress:
image: wordpress:6.4.3
container_name: wordpress_app
depends_on:
- db
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress_user
WORDPRESS_DB_PASSWORD: wordpress_password
WORDPRESS_DEBUG: "true"
volumes:
- wordpress_data:/var/www/html
- ./plugins:/var/www/html/wp-content/plugins
networks:
- wordpress_network

volumes:
db_data:
wordpress_data:

networks:
wordpress_network:

把插件解压到plugins里面,该目录会挂载到容器内的插件目录

http://127.0.0.1:8080/wp-admin/plugins.php内,把该插件启用一下

漏洞原理

漏洞复现

http://127.0.0.1:8080/wp-admin/admin.php?page=litespeed-general

进入LiteSpeed Cache—>General

image-20241220211352122

在Server IP处填入xss payload

1
1"><svg/onload=alert("XSS")>

点击save changes之后立即触发xss payload,往后再次刷新也可执行xss payload

image-20241220211141767

在Toolbox里也存在xss漏洞点

进入LiteSpeed Cache —> Toolbox —> Debug Settings

在Admin IPs里填入xss payload

1
<img src onerror=alert(/XSS/)>

image-20241220210930349

image-20241220211117386

参考

阿里云漏洞库 (aliyun.com)

LightSpeed Cache Vulnerability - CVE-2020-29172 (exploit-db.com)

CVE - CVE-2020-29172 (mitre.org)