Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
bola-CVE-2023-27524 — Demonstra a vulnerabilidade de Autorização em Nível de Objeto Quebrada (BOLA) CVE-2023-27524 com implementações vulneráveis e corrigidas de API Flask para educação em segurança. | Kitploit
Ferramentas/GitHubGitHub/rachidafaf/bola-cve-2023-27524
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploração de Aplicações WebTestes de Segurança de APIsTestes de PenetraçãoAprendizado e Educação
GitHubrachidafaf/bola-cve-2023-27524

bola-CVE-2023-27524

Demonstra a vulnerabilidade de Autorização em Nível de Objeto Quebrada (BOLA) CVE-2023-27524 com implementações vulneráveis e corrigidas de API Flask para educação em segurança.

Ver Repositório
há 4 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

bola-CVE-2023-27524

📄 README.md — Projeto de Demonstração BOLA CVE-2023-27524

root@kitploit:~
# 🔐 Demonstração de Autorização de Nível de Objeto Quebrada (BOLA)  
## Análise de Segurança e Correção do CVE-2023-27524

---

## 📌 Visão Geral do Projeto

Este projeto demonstra uma vulnerabilidade real de **Autorização de Nível de Objeto Quebrada (BOLA)** e sua correção segura usando uma API baseada em Flask.

A vulnerabilidade é modelada com base no **CVE-2023-27524**, que envolve controles de autorização inadequados que permitem que atacantes acessem ou manipulem objetos não autorizados modificando identificadores de objetos (IDs) em requisições da API.

Este repositório inclui:
- ❌ vulnerable_api.py: Uma versão vulnerável da API
- ✅ fixed_vulnerable_api.py: Uma versão corrigida e segura que implementa autorização adequada no nível do objeto

---

## ⚠️ O que é BOLA?

**Autorização de Nível de Objeto Quebrada (BOLA)** ocorre quando uma aplicação:
- Expõe IDs de objetos (ex.: `/profile?id=2`)
- Não verifica se o usuário autenticado está autorizado a acessar aquele objeto

### 🔴 Impacto:
Atacantes podem:
- Acessar dados privados de outros usuários
- Modificar ou excluir recursos não autorizados
- Realizar escalonamento horizontal de privilégios

---

## 💥 Implementação Vulnerável

### Exemplo (Código Vulnerável)

```python
@app.route('/profile')
def profile():
    user_id = request.args.get("id")
    return users.get(int(user_id))
```

### ❌ Problema:

* Nenhuma verificação de autenticação
* Nenhuma validação de propriedade
* ID controlado pelo usuário acessa diretamente objetos do banco de dados

### 🔓 Cenário de Exploração:

```
/profile?id=1   → Dados de Alice
/profile?id=2   → Dados de Bob (acesso não autorizado)
```

---

## 🔒 Implementação Corrigida e Segura

### Exemplo (Código Seguro)

```python
@app.route('/profile')
def profile():
    requested_id = int(request.args.get("id", session["user_id"]))

    # Verificação de autorização no nível do objeto
    if requested_id != session["user_id"]:
        return "403 Forbidden - Access Denied", 403

    return users.get(requested_id)
```

---

## ✅ Correção de Segurança Aplicada

Esta implementação previne BOLA ao impor:

✔ Autenticação baseada em sessão
✔ Validação de propriedade do objeto
✔ Verificações de autorização no lado do servidor
✔ Prevenção de ataques de adulteração de ID

---

## 🧠 Lição Chave de Segurança

> Nunca confie em identificadores de objetos fornecidos pelo usuário sem verificar a autorização no lado do servidor.

Autenticação NÃO é suficiente — **a autorização deve ser aplicada no nível do objeto.**

---

## 📊 Fluxo de Ataque vs Fluxo Seguro

### ❌ Fluxo Vulnerável:

```
Usuário → Requisição API (/profile?id=2) → Acesso Direto ao BD → Vazamento de Dados
```

### ✅ Fluxo Seguro:

```
Usuário → Requisição API → Verificação de Sessão → Validação de Propriedade → Permitido/Negado
```

---

## 🧪 Como Executar

### 1. Instalar dependências

```bash
pip install flask
```

### 2. Executar a aplicação

```bash
python fixed_vulnerable_api.py ou vulnerable_api.py
```

### 3. Acessar a aplicação

```
http://127.0.0.1:5000
```

---

## 📁 Estrutura do Projeto

```
api-bola-demo/
│
├── vulnerable_api.py     # versão insegura
├── fixed_vulnerable_api.py   # Versão corrigida (BOLA)
└── README.md
```
Baixar ferramenta