一个单引号,撬开一所高校的数据库

admin 2026-09-28 05:18:54 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文完整记录一次针对某高校微生物数据库站点的SQL注入漏洞挖掘过程。从资产测绘锁定目标,通过单引号触发报错定位注入点,利用暴露的phpPgAdmin确认PostgreSQL数据库指纹,最终构造布尔盲注payload验证漏洞。文章含具体payload与复现思路,强调科研类外包小项目安全投入有限,是SRC挖掘重点关注对象。 综合评分: 85 文章分类: 渗透测试,漏洞分析,红队,SRC活动


一个单引号,撬开一所高校的数据库

三垣网安

2026年9月26日 12:16 湖南

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

前言

一个不起眼的搜索参数,一个单引号,就让数据库的门缝露了出来。本文完整记录从资产测绘、注入点定位、数据库指纹确认,到布尔盲注验证的全过程,含 payload、复现思路、危害分析。

1

缘起:从资产测绘开始

做 SRC 的第一步永远是找面。通过网络空间测绘平台,以学校名称配合业务关键词检索,很快锁定了一台互联网资产:IP 为 xxx.xxx.xx.xxx,开放 443/HTTPS 与 80/HTTP 端口,站点标题 MicrobialBioinformaticG…,后端应用为 PHP。

从标题判断,这是某高校一个微生物生物信息学数据库站点,对外开放检索功能。这类科研数据库往往是外包开发的「小项目」,安全投入有限,是值得重点关注的对象。

2

注入点:一个单引号就报错

name 参数用于按菌属名检索。老规矩,先在参数后面加一个单引号:

GET/TADB3/search_tax.php?level=genus&name=Escherichia’&type= HTTP/1.1 Host: xxx.edu.cn

页面直接报错——典型的参数未过滤,SQL 语句被拼坏了

3

指纹:/phppgadmin/ 暴露的数据库类型

动手打注入之前,先确认数据库类型。前期信息搜集用 dirsearch 扫目录时,扫到一个关键路径:https://xxx.edu.cn/phppgadmin/

phpPgAdmin 是 PostgreSQL 的 Web 管理工具。打开一看,版本 5.6,服务器列表显示 PostgreSQL 运行在 5432 端口——至此确认:后端数据库是 PostgreSQL。

这一步很关键,因为 PostgreSQL 在字符串拼接、类型转换上的语法与 MySQL 差异很大,直接影响 payload 的构造方式。

4

构造 payload:布尔盲注的思路

1、先确认正常检索:

name=Escherichia 是能搜到东西的。然后构造布尔条件:

Escherichia’+and+(user+like+’r%’)+or+’0

2、逻辑拆解:Escherichia’ 负责闭合原查询里的字符串;and (user like ‘r%’) 判断当前数据库用户是否以 r 开头;or ‘0 兜底,保证语法闭合、页面不报错。条件为真,页面返回数据;条件为假,返回空结果——这就是布尔盲注的判定依据。

3、为了确认 user 首字母,用 Burp Intruder 对 payload 中的字母位做爆:

GET/TADB3/search_tax.php?level=genus&name=Escherichia’+and+(user+like+’r%’)+or+’0&type= HTTP/1.1 Host: xxx.edu.cn

4、当字母为 r 时,页面返回了 Escherichia coli str. K-12 substr. MG1655 的记录,其余字母均为空——证明当前数据库用户名首字母为 r,SQL 注入确实存在。

觉得有收获的请关注三垣网安

更多技术分享我们将及时推送与你,感谢支持

请为我点个赞再走

安全漏洞 #网络安全实战 #sql注入#教育src信息搜集 #漏洞挖掘


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:三垣网安 《一个单引号,撬开一所高校的数据库》

评论:0   参与:  0