Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
bola-CVE-2023-27524 — Demuestra la vulnerabilidad CVE-2023-27524 de Autorización a Nivel de Objeto Rota (BOLA) con implementaciones vulnerables y corregidas de API Flask para educación en seguridad. | Kitploit
Herramientas/GitHubGitHub/rachidafaf/bola-cve-2023-27524
Autenticación y AutorizaciónAnálisis de VulnerabilidadesExplotación de Aplicaciones WebPruebas de Seguridad de APIsPruebas de PenetraciónAprendizaje y Educación
GitHubrachidafaf/bola-cve-2023-27524

bola-CVE-2023-27524

Demuestra la vulnerabilidad CVE-2023-27524 de Autorización a Nivel de Objeto Rota (BOLA) con implementaciones vulnerables y corregidas de API Flask para educación en seguridad.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
5hace 5 mesesAún no revisado

bola-CVE-2023-27524

📄 README.md — Proyecto de demostración BOLA CVE-2023-27524

root@kitploit:~
# 🔐 Demostración de Autorización a Nivel de Objeto Roto (BOLA)  
## Análisis de Seguridad y Corrección de CVE-2023-27524

---

## 📌 Resumen del Proyecto

Este proyecto demuestra una vulnerabilidad real de **Autorización a Nivel de Objeto Roto (BOLA)** y su corrección segura utilizando una API basada en Flask.

La vulnerabilidad está modelada según **CVE-2023-27524**, que implica controles de autorización inadecuados que permiten a los atacantes acceder o manipular objetos no autorizados modificando identificadores de objetos (IDs) en las solicitudes de API.

Este repositorio incluye:
- ❌ vulnerable_api.py: Una versión vulnerable de la API
- ✅ fixed_vulnerable_api.py: Una versión segura corregida que implementa la autorización adecuada a nivel de objeto

---

## ⚠️ ¿Qué es BOLA?

**La Autorización a Nivel de Objeto Roto (BOLA)** ocurre cuando una aplicación:
- Expone IDs de objetos (ej., `/profile?id=2`)
- No verifica si el usuario autenticado está autorizado para acceder a ese objeto

### 🔴 Impacto:
Los atacantes pueden:
- Acceder a datos privados de otros usuarios
- Modificar o eliminar recursos no autorizados
- Realizar escalada horizontal de privilegios

---

## 💥 Implementación Vulnerable

### Ejemplo (Código Vulnerable)

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

❌ Problema:

  • Sin verificación de autenticación
  • Sin validación de propiedad
  • ID controlado por el usuario accede directamente a objetos de la base de datos

🔓 Escenario de Explotación:

root@kitploit:~
/profile?id=1   → Alice data
/profile?id=2   → Bob data (unauthorized access)

🔒 Implementación Segura Corregida

Ejemplo (Código Seguro)

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

    # Object-level authorization check
    if requested_id != session["user_id"]:
        return "403 Forbidden - Access Denied", 403

    return users.get(requested_id)

✅ Corrección de Seguridad Aplicada

Esta implementación previene BOLA al aplicar:

✔ Autenticación basada en sesión ✔ Validación de propiedad de objeto ✔ Verificaciones de autorización del lado del servidor ✔ Prevención de ataques de manipulación de ID


🧠 Lección Clave de Seguridad

Nunca confíes en identificadores de objetos proporcionados por el usuario sin verificar la autorización en el lado del servidor.

La autenticación NO es suficiente — la autorización debe ser aplicada a nivel de objeto.


📊 Flujo de Ataque vs Flujo Seguro

❌ Flujo Vulnerable:

root@kitploit:~
User → API Request (/profile?id=2) → Direct DB Access → Data Leak

✅ Flujo Seguro:

root@kitploit:~
User → API Request → Session Check → Ownership Validation → Allowed/Denied

🧪 Cómo Ejecutar

1. Instalar dependencias

root@kitploit:~
pip install flask

2. Ejecutar la aplicación

root@kitploit:~
python fixed_vulnerable_api.py or vulnerable_api.py

3. Acceder a la aplicación

root@kitploit:~
http://127.0.0.1:5000

📁 Estructura del Proyecto

root@kitploit:~
api-bola-demo/
│
├── vulnerable_api.py     # insecure version
├── fixed_vulnerable_api.py   # Fixed BOLA version
└── README.md
Descargar herramienta