v1ctor-cyber/db-security-hospital
GitHub: v1ctor-cyber/db-security-hospital
该项目是一个模拟医疗环境的数据库安全监控实验室,通过对比漏洞版本和安全版本的应用程序来演示和防御 SQL 注入等常见攻击。
Stars: 0 | Forks: 0
# 🏥 医院安全监控实验室
这是一个为模拟医疗环境中的监控、审计和数据保护而开发的网络安全实践实验室。
该项目展示了如何通过从数据库建模阶段就应用安全决策,来降低未经授权访问的风险、防止敏感信息泄露以及防御 SQL Injection 攻击。
## 🎯 目标
* 在数据库中实施安全控制
* 记录并审计对敏感信息的访问
* 通过日志检测可疑行为
* 展示漏洞及其缓解措施
* 模拟 SOC 和 Blue Team 团队使用的场景
## 🔐 已实施的安全控制
### 访问审计
`LOG_ACESSO` 表记录了:
* 已认证用户
* IP 地址
* 访问日期和时间
* 执行的操作
* 访问的资源
这些记录可用于识别异常活动,并为安全事件调查提供支持。
### 凭证保护
系统绝不以明文形式存储密码。
* 使用 bcrypt 进行 Hashing
* 安全的凭证验证
* 降低数据泄露时的影响
### 敏感数据隔离
医疗信息被分离到特定的表中,以减少不必要的暴露,并应用最小权限原则。
## ⚔️ SQL Injection 实验室
该项目包含两个版本的应用程序:
### 易受攻击的应用程序
`app_vuln.py`
演示了在真实系统中发现的常见缺陷:
* SQL Injection
* 明文密码比对
* 权限提升
使用的 Payload:
```
' OR '1'='1'--
```
### 安全的应用程序
`app_secure.py`
实施了:
* 参数化查询
* 使用 bcrypt 进行密码 Hashing
* 自动化审计记录
* 安全的身份验证校验
## 🧪 测试结果
| 场景 | 易受攻击 | 安全 |
| --------------- | ---------- | ----------- |
| 登录绕过 | ✅ 成功 | ❌ 已拦截 |
| SQL Injection | ✅ 成功 | ❌ 已拦截 |
| 合法登录 | ✅ 成功 | ✅ 成功 |
## 📂 结构
```
documentos/
aplicativo/
├── app_vuln.py
├── app_secure.py
├── ataques.py
esquema.sql
consultas.sql
esquema.dbml
der.md
```
## 🛠️ 技术
* Python
* Flask
* PostgreSQL
* psycopg2
* bcrypt
* GitHub Actions
* Bandit
* Safety
## 🚀 运行说明
1. 创建 PostgreSQL 数据库
2. 执行 `esquema.sql`
3. 执行 `consultas.sql`
4. 安装依赖项
```
pip install flask psycopg2-binary bcrypt requests
```
5. 启动应用程序
```
python app/app_vuln.py
python app/app_secure.py
```
6. 执行攻击
```
python app/ataques.py
```
## 👨💻 作者
Victor Silva
网络安全分析师 | SOC | Blue Team
LinkedIn:
https://linkedin.com/in/victor-cyber
标签:CISA项目, PostgreSQL, Python, 安全实验室, 数据泄露, 无后门, 测试用例, 逆向工具