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
POC-CVE-2023-32681 — POC per la CVE-2023-32681 | Kitploit
Strumenti/GitHubGitHub/hardikmodha/poc-cve-2023-32681
Analisi delle VulnerabilitàExploitSicurezza WebApprendimento e FormazioneLab e PraticaArchived
GitHubhardikmodha/poc-cve-2023-32681

POC-CVE-2023-32681

POC per la CVE-2023-32681

Vedi Repository
413 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

POC per CVE-2023-32681

Questa è un'implementazione Python 3 di CVE-2023-32681, che colpisce i client che utilizzano la versione requests <= 2.30.0.

Come da https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4, ogni volta che il server emette un reindirizzamento 3xx, lo user-agent dovrebbe modificare la richiesta per rimuovere determinate intestazioni e campi dalla richiesta.

I dettagli di questi campi sono disponibili su https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4-5. Specifico per questa CVE, ho evidenziato la parte rilevante qui.

image

La versione requests <= 2.30.0 non rimuoveva le intestazioni "Proxy-Authorization" durante la gestione del reindirizzamento a "https", perdendo così le credenziali del proxy verso il server di reindirizzamento.

Ulteriori dettagli sono disponibili su

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

Prerequisiti

  • Set valido di certificati per il server HTTP(S). Puoi usare mkcert per generare i certificati localmente.
  • Go v1.19
  • Python 3.x
  • virtualenv (Opzionale)

Panoramica

  1. Implementazione del server proxy in Go. Avvia un server proxy sulla porta 8080 e richiede un'autenticazione di base. Ai fini della POC, ha nome utente e password hardcoded definiti nello stesso file.
  2. Implementazione del server HTTP(S) in Go. Avvia 2 server.
    • Server di reindirizzamento in ascolto sulla porta 443 e un altro server echo in ascolto sulla porta 4431.
    • Il server di reindirizzamento definisce una rotta /redirect che reindirizza il traffico al secondo server in esecuzione sulla 4431.
    • Il server echo definisce una rotta /echoHeaders. Questa rotta restituisce al client le intestazioni ricevute nella richiesta.
  3. Script Python della POC. Invia una richiesta tramite proxy al server di reindirizzamento in esecuzione sulla porta 443 e stampa la risposta restituita dal server.
  4. Se la risposta contiene le intestazioni Proxy-Authorization, la versione di requests è considerata vulnerabile a "CVE-2023-32681".

Passaggi

  1. Clona questo repository.
  2. Aggiorna le variabili certFile e keyFile in server/main.go.
  3. Avvia i server HTTP(S) eseguendo il comando go run server/main.go. Questo avvierà due server in ascolto sulle porte 443 e 4431.
  4. Avvia il server proxy eseguendo il comando go run proxy/main.go. Questo avvierà il server proxy sulla porta 8080.
  5. Installa le dipendenze per eseguire lo script Python pip3 install -r script/requirements_request_2_30_0.txt
  6. Esegui lo script della POC con python3 script/poc.py e osserva l'output. Puoi notare che l'intestazione "Proxy-Authorization" viene restituita dal server nella risposta. Il server stampa inoltre le intestazioni ricevute nei log.
  7. Ora aggiorna la versione di requests a >= 2.31.0 oppure esegui pip3 install -r script/requirements_request_2_31_0.txt
  8. Esegui nuovamente lo script della POC con python3 script/poc.py e osserva l'output. Puoi notare che l'intestazione "Proxy-Authorization" ora non è più presente nella risposta del server. La stessa cosa può essere verificata anche nei log del server.

Screenshot

Server proxy

proxy_server_logs

requests==2.30.0

requests_2_30_0_script_output requests_2_30_0_server_output

requests==2.31.0

requests_2_31_0_script_output requests_2_31_0_server_output
Scarica lo strumento