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
POC-CVE-2023-32681 — POC para el CVE-2023-32681 | Kitploit
Herramientas/GitHubGitHub/hardikmodha/poc-cve-2023-32681
Análisis de VulnerabilidadesExplotaciónSeguridad WebAprendizaje y EducaciónLabs y PrácticaArchived
GitHubhardikmodha/poc-cve-2023-32681

POC-CVE-2023-32681

POC para el CVE-2023-32681

Ver Repositorio
41hace 3 añosAún no revisado

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

POC para CVE-2023-32681

Esta es una implementación en Python 3 de CVE-2023-32681, que afecta a clientes que usan requests versión <= 2.30.0.

Según https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4, cuando el servidor emite una redirección 3xx, el agente de usuario debe modificar la solicitud para eliminar ciertos encabezados y campos de la misma.

Los detalles de esos campos se pueden encontrar en https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4-5. Específico de este CVE, he resaltado la parte relevante aquí.

image

La versión requests <= 2.30.0 no eliminaba los encabezados "Proxy-Authorization" al manejar la redirección a "https", filtrando así las credenciales del proxy al servidor redirigido.

Se pueden encontrar más detalles al respecto en

  • https://www.cve.org/CVERecord?id=CVE-2023-32681
  • https://security.snyk.io/vuln/SNYK-PYTHON-REQUESTS-5595532

Requisitos previos

  • Un conjunto válido de certificados para el servidor HTTP(S). Puedes usar mkcert para generar los certificados localmente.
  • Go v1.19
  • Python 3.x
  • virtualenv (Opcional)

Descripción general

  1. Implementación del servidor proxy en Go. Inicia un servidor proxy en el puerto 8080 y requiere autenticación básica. Para fines del POC, tiene el nombre de usuario y contraseña hardcodeados definidos en el mismo archivo.
  2. Implementación del servidor HTTP(S) en Go. Inicia 2 servidores.
    • Un servidor de redirección escuchando en el puerto 443 y otro servidor echo escuchando en el puerto 4431.
    • El servidor de redirección define una ruta /redirect que redirige el tráfico al segundo servidor ejecutándose en 4431.
    • El servidor echo define una ruta /echoHeaders. Esta ruta devuelve al cliente los encabezados que recibió en la solicitud.
  3. Script Python del POC. Envía una solicitud proxificada al servidor de redirección que se ejecuta en el puerto 443 e imprime la respuesta que devuelve el servidor.
  4. Si la respuesta contiene los encabezados Proxy-Authorization, se dice que la versión de requests es vulnerable a "CVE-2023-32681".

Pasos

  1. Clona este repositorio.
  2. Actualiza las variables certFile y keyFile en server/main.go.
  3. Inicia los servidores HTTP(S) ejecutando el comando go run server/main.go. Esto iniciará dos servidores escuchando en los puertos 443 y 4431.
  4. Inicia el servidor proxy ejecutando el comando go run proxy/main.go. Esto iniciará el servidor proxy en el puerto 8080.
  5. Instala las dependencias para ejecutar el script Python: pip3 install -r script/requirements_request_2_30_0.txt
  6. Ejecuta el script POC con python3 script/poc.py y observa la salida. Puedes ver que el encabezado "Proxy-Authorization" es devuelto por el servidor en la respuesta. El servidor también imprime los encabezados recibidos en los registros.
  7. Ahora, actualiza la versión de requests a >= 2.31.0 o ejecuta pip3 install -r script/requirements_request_2_31_0.txt
  8. Vuelve a ejecutar el script POC con python3 script/poc.py y observa la salida. Puedes ver que el encabezado "Proxy-Authorization" ahora no está presente en la respuesta del servidor. Lo mismo se puede verificar en los registros del servidor.

Capturas de pantalla

Servidor proxy

registros_del_servidor_proxy

requests==2.30.0

salida_script_requests_2_30_0 salida_servidor_requests_2_30_0

requests==2.31.0

salida_script_requests_2_31_0 salida_servidor_requests_2_31_0
Descargar herramienta